Achievo 1.3.4 remote SQL injection vulnerability

2009.10.19
Credit: Ryan Dewhurst
Risk: Medium
Local: No
Remote: Yes
CVE: N/A
CWE: CWE-89

Bonsai Information Security - Advisory http://www.bonsai-sec.com/research/ SQL Injection in Achievo 1. *Advisory Information* Title: SQL Injection in Achievo Advisory ID: BONSAI-2009-0102 Advisory URL: http://www.bonsai-sec.com/research/vulnerabilities/achievo-sql-injection-0102.txt Date published: 2009-10-13 Vendors contacted: Achievo Release mode: Coordinated release 2. *Vulnerability Information* Class: SQL Injection Remotely Exploitable: Yes Locally Exploitable: Yes CVE Name: CVE-2009-2734 3. *Software Description* Achievo is a flexible web-based resource management tool for business environments. Achievo's resource management capabilities will enable organizations to support their business processes in a simple, but effective manner [0]. 4. *Vulnerability Description* SQL injection is a code injection technique that exploits a security vulnerability occurring in the database layer of an application. The vulnerability is present when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. For additional information, please look at the references [1] and [2]. 5. *Vulnerable packages* Version <= 1.3.4 6. *Non-vulnerable packages* Achievo developers informed us that all users should upgrade to the latest version of Achievo, which fixes this vulnerability. More information to be found here: http://www.achievo.org/ 7. *Credits* This vulnerability was discovered by Ryan Dewhurst ( ryan -at- bonsai-sec.com ). 8. *Technical Description* A SQL injection vulnerability was found in the dispatch.php script, more specifically in the $user_id variable. The vulnerability can be triggered by logging into Achievo and browsing to: /dispatch.php?atknodetype=reports.weekreport&atkaction=report&nameswitch=name&userid=%27&functionlevelswitch=all&startdate[day]=6&startdate[month]=7&startdate[year]=2009&enddate[day]=17&enddate[month]=7&enddate[year]=2009&showstatus=all&outputType=0&atkorderby=period Which will generate a syntax error in the database. The following is the corresponding piece of code: classweekreport.inc:128-134 function get_employee($user_id) { $db = &atkGetDb(); $sql = "SELECT * FROM person WHERE status='active' AND id='$user_id'"; $record = $db->getrows($sql); return $record[0]; } 9. *Report Timeline* - 2009-07-09: Vulnerabilities were identified. - 2009-08-08: Vendor contacted. - 2009-08-12: Vendor confirmed vulnerabilities. - 2009-08-14: Vendor sets possible release date of fixed version to Monday 12 Oct. - 2009-10-12: Vendor released fixed version. - 2009-10-13: The advisory BONSAI-2009-0101 is published. 10. *References* [0] http://www.achievo.org/ [1] http://www.owasp.org/index.php/SQL_injection [2] http://en.wikipedia.org/wiki/SQL_injection 11. *About Bonsai* Bonsai is a company involved in providing professional computer information security services. Currently a sound growth company, since its foundation in early 2009 in Buenos Aires, Argentina, we are fully committed to quality service, and focused on our customers' real needs. 12. *Disclaimer* The contents of this advisory are copyright (c) 2009 Bonsai Information Security, and may be distributed freely provided that no fee is charged for this distribution and proper credit is given.


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top