Digital Security Research Group [DSecRG] Advisory #DSECRG-08-017 Application: Flyspray (web-based bug tracking system) Versions Affected: 0.9.9.4 Vendor URL: http://www.flyspray.org Bugs: SiXSS, Stored XSS, Brute Force Exploits: YES Reported: 08.02.2008 Vendor response: 08.02.2008 Solution: 24.02.2008 Date of Public Advisory: 03.03.2008 Author: Digital Security Research Group [DSecRG] (research [at] dsec [dot] ru) Description *********** Flyspray system has multiple security vulnerabilities: 1. SiXSS in POST 2. Stored XSS in POST 3. Login Error Messages Credential Enumeration Details ******* 1. SiXSS in POST, attacker can inject XSS code in SQL Error. 1.1 Vulnerabilities found in script index.php?do=myprofile. POST parameters "tasks_perpage", "time_zone", "account_enabled", "notify_own". Example: tasks_perpage = <script>alert('DSecRG XSS')</script> time_zone = <img src="javascript:alert('DSecRG XSS')"> 1.2 Vulnerabilities found in script index.php?do=admin&area=newproject. POST parameters "anon_open", "others_view". Example: anon_open = <img src="javascript:alert('DSecRG XSS')"> 1.3 Vulnerabilities found in script index.php?do=admin&area=cat. POST parameters "lft[4]", "rgt[4]". Example: rgt[4] = <script>alert('DSecRG XSS')</script> 1.4 Vulnerabilities found in script index.php?do=pm&area=prefs. POST parameters "comment_closed", "project_is_active". Example: project_is_active = <img src="javascript:alert('DSecRG XSS')"> 1.5 Vulnerabilities found in script index.php?do=details. POST parameters "closedby_version", "edit", "edit_start_time", "find_user", "item_status", "operating_system", "percent_complete", "product_category", "project_id", "reportedver", "task_priority", "task_severity", "task_type", . Example: project_id = <script>alert('DSecRG XSS')</script> item_status = <img src="javascript:alert('DSecRG XSS')"> --------------------------------------------------------------------- 2. Vulnerability found in script index.php?do=details in task details page. POST parameter "item_summary". Example: item_summary = <script>alert('DSecRG XSS')</script> --------------------------------------------------------------------- 3. Login Error Messages Credential Enumeration When trying to login using bad credentials, the application generates different error messages when the user inputs an invalid username and an invalid password separately. Attacker ca use the brute force technique to establish valid usernames, before proceeding to attempt discovery of the associated password. Fix Information *************** Flyspray was altered to fix this flaw on 24.02.2008. Updated version (0.9.9.5) can be downloaded here: http://www.flyspray.org/download/ Vendor advisory *************** http://flyspray.org/fsa:3 About ***** Digital Security is leading IT security company in Russia, providing information security consulting, audit and penetration testing services, risk analysis and ISMS-related services and certification for ISO/IEC 27001:2005 and PCI DSS standards. Digital Security Research Group focuses on web application and database security problems with vulnerability reports, advisories and whitepapers posted regularly on our website. Contact: research [at] dsec [dot] ru http://www.dsec.ru (in Russian) -- Digital Security Research Group mailto:research@xxxxxxx