← Advisories

Ushahidi 2.0.1 (range param) SQL Injection Vulnerability (post-auth)

Medium
Advisory ID
ZSL-2011-5016
Release Date
02 June 2011
Vendor
Ushahidi, Inc. - http://www.ushahidi.com
Affected Version
2.0.1 (Tunis)
CVE
N/A
Tested On
Microsoft Windows XP Professional SP3 (EN), Apache 2.2.14 (Win32), PHP 5.3.1, MySQL 5.1.41
Summary

The Ushahidi Platform is a platform for information collection, visualization and interactive mapping.

Description

Input passed via the 'range' parameter to dashboard.php is not properly sanitised in application/controllers/admin/dashboard.php before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

/application/controllers/admin/dashboard.php ---------------- 103: // Set the date range (how many days in the past from today?) 104: // default to one year 105: $range = (isset($_GET['range'])) ? $_GET['range'] : 365; 106: 107: if(isset($_GET['range']) AND $_GET['range'] == 0) 108: { 109: $range = NULL; 110: } 111: 112: $this->template->content->range = $range;
Proof of Concept
Disclosure Timeline
25.05.2011Vulnerability discovered.
25.05.2011Initial contact with the vendor.
27.05.2011Vendor replies asking more details.
27.05.2011Sent PoC files to vendor.
28.05.2011Vendor forwards issue to corresponding division.
31.05.2011Asked vendor for confirmation and scheduled patch release date.
31.05.2011Vendor replies confirming the issue and promising patch.
02.06.2011Coordinated public security advisory released.
Credits
Vulnerability discovered by Gjoko Krstic
References
Changelog
02.06.2011Initial release
03.06.2011Added reference [3], [4], [5] and [6]
04.06.2011Added reference [7] and [8]
07.06.2011Added reference [9]
26.08.2012Added reference [10]