We have helped our customers to fix 24 442 vulnerabilities
ImmuniWeb® by High-Tech Bridge


High-Tech Bridge Newsletter

Subscribe to our newsletter and receive some or all of our corporate news, invitations to security events or HTB Security Advisories – you choose what you want to receive.

Multiple vulnerabilities in Piwigo

Advisory ID:HTB23085
Product:Piwigo
Vendor:Piwigo project
Vulnerable Versions:2.3.3 and probably prior
Tested Version:2.3.3
Advisory Publication:April 4, 2012 [without technical details]
Vendor Notification:April 4, 2012
Vendor Fix:April 8, 2012
Public Disclosure:April 25, 2012
Latest Update:April 10, 2012
Vulnerability Type:Path Traversal [CWE-22]
Cross-Site Scripting [CWE-79]
CVE References:CVE-2012-2208
CVE-2012-2209
Risk Level:High
CVSSv2 Base Scores:7.6 (AV:N/AC:H/Au:N/C:C/I:C/A:C)
2.6 (AV:N/AC:H/Au:N/C:N/I:P/A:N)
Solution Status:Fixed by Vendor
Discovered and Provided:High-Tech Bridge Security Research Lab
 

Advisory Details:

High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in Piwigo, which can be exploited to perform Cross-Site Scripting (XSS) and Path Traversal attacks.

1) Directory Path Traversal in Piwigo: CVE-2012-2208
1.1 Input passed via the "language" GET parameter to upgrade.php is vulnerable to directory path traversal. The directory path passed to the "language" parameter is later used in include() function to include the following files: common.lang.php, admin.lang.php, install.lang.php and upgrade.lang.php.
Under certain conditions this can be exploited to include malicious PHP file and execute arbitrary PHP code. To exploit this vulnerability the attacker should create a file with the name from the list above (for example admin.lang.php) in the file system (for example in /tmp/) and try to include it via directory traversal.
The following PoC (Proof of Concept) demonstrates the vulnerability:
http://[host]/upgrade.php?language=../../../../../tmp/
/tmp/ directory should contain "admin.lang.php" file that will be used in include() call.

2) Multiple Cross-Site Scripting (XSS) in Piwigo: CVE-2012-2209
2.1 Input passed via the "section" GET parameter to admin.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in administrator's browser session in context of affected website.
The following PoC (Proof of Concept) demonstrates the vulnerability:
http://[host]/admin.php?page=configuration&section=%22%3E%3Cscript%3Ealert%28doc ument.cookie%29;%3C/script%3E
2.2 Input passed via the "installstatus" GET parameter to admin.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in administrator's browser session in context of affected website.
The following PoC demonstrates the vulnerability:
http://[host]/admin.php?page=languages_new&installstatus=%3Cscript%3Ealert%28doc ument.cookie%29;%3C/script%3E
2.3 Input passed via the "theme" GET parameter to admin.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in administrator's browser session in context of affected website.
The following PoC demonstrates the vulnerability:
http://[host]/admin.php?page=theme&theme=%3Cscript%3Ealert%28document.cookie%29; %3C/script%3E


ImmuniWeb® On-Demand Web Application Penetration Test


Solution:
Upgrade to Piwigo 2.3.4

More Information:
http://piwigo.org/forum/viewtopic.php?id=19173
http://piwigo.org/releases/2.3.4
http://piwigo.org/bugs/view.php?id=2607


References:
[1] High-Tech Bridge Advisory HTB23085 - https://www.htbridge.com/advisory/HTB23085 - Multiple vulnerabilities in Piwigo.
[2] Piwigo - http://piwigo.org/ - Piwigo is a photo gallery software for the web, built by an active community of users and developers.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - international in scope and free for public use, CVE® is a dictionary of publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.
User Comments and Opinions


Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.