SQL-Injections in Mapbender

2008-03-11 / 2008-03-12
Risk: Medium
Local: No
Remote: Yes
CWE: CWE-89


CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

Advisory: SQL-Injections in Mapbender During a penetration test RedTeam Pentesting discovered multiple SQL-Injections in Mapbender. A remote attacker is able to execute arbitrary SQL commands and therefore can get e.g. valid usernames and password hashes of the Mapbender users. Details ======= Product: Mapbender Affected Versions: 2.4.4 (verified), probably older versions, too Fixed Versions: 2.4.5 rc1 Vulnerability Type: SQL-Injection Security-Risk: high Vendor-URL: http://www.mapbender.org Vendor-Status: informed, fixed version released Advisory-URL: http://www.redteam-pentesting.de/advisories/rt-sa-2008-002.php Advisory-Status: public CVE: CVE-2008-0301 CVE-URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0301 Introduction ============ "Mapbender is the software and portal site for geodata management of OGC OWS architectures. The software provides web technology for managing spatial data services implemented in PHP, JavaScript and XML. It provides a data model and interfaces for displaying, navigating and querying OGC compliant map services. The Mapbender framework furthermore provides authentication and authorization services, OWS proxy functionality, management interfaces for user, group and service administration in WebGIS projects." (from the vendor's homepage) More Details ============ Due to the lack of input validation, an attacker is able to inject SQL-commands in many PHP scripts of Mapbender. This vulnerability can be exploited regardless of PHP magic quotes. For demonstration purposes, the injection into the "gaz" variable of the file http/php/mod_gazetteer_edit.php is shown. The two relevant lines are: $sql = "SELECT * FROM gazetteer WHERE gazetteer_id = ".$_REQUEST["gaz"]; $res = db_query($sql); The user input $_REQUEST["gaz"] goes unfiltered, unquoted and unescaped into an SQL statement. As no prepared statements are used here, an attacker can execute arbitrary SQL commands. There is no need to use quotes in the SQL statement for an attacker, so PHP magic quotes do not help. Proof of Concept ================ The following request retrieves the first username and password hash from the Mapbender database. http://www.example.com/php/mod_gazetteer_edit.php?gaz= 1 LIMIT 0 UNION (SELECT char(65), char(65), char(65), char(65), char(65), char(65), mb_user_name, char(65), mb_user_password, char(65) from mb_user LIMIT 0,1) Workaround ========== None. Fix === The vulnerability is fixed in release 2.4.5 rc1. Security Risk ============= As an attacker is able to e.g. get the password hashes of the administrators and other users, the risk is estimated as high. History ======= 2007-12-14 Problem identified during a penetration test 2008-01-09 Customer approves contacting of Mapbender developers 2008-01-17 CVE number assigned 2008-03-10 Vendor releases fixed version 2008-03-11 Advisory released RedTeam Pentesting GmbH ======================= RedTeam Pentesting is offering individual penetration tests, short pentests, performed by a team of specialised IT-security experts. Hereby, security weaknesses in company networks or products are uncovered and can be fixed immediately. As there are only few experts in this field, RedTeam Pentesting wants to share its knowledge and enhance the public knowledge with research in security related areas. The results are made available as public security advisories. More information about RedTeam Pentesting can be found at http://www.redteam-pentesting.de. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBR9Zuc9G/HXWsgFSuAQKXpQf+NHCb8TkgPvzxy2tmCxvkO+rT8dVMACc2 LtlPuJpMZH6hKB4G1gisxrk1c5GD+KXnrBMEQvesVv2+/CgOfjAGTunOqrwZ4SIr 96rylHcKB7UpNyW1IFjL5UlGGq3UD0FspV3fJZqQDqoorF9dAYaPfgsjCO4AWUnq T4zFpT62YyTybUsP0yTQIof7cpGZW5gyBEWsQuXlYTAV+/ipa5W5OSoosEPLa2ol DCABsmNlmBGTa5f1zqzv60caRIR5ab1ciz4sAb8Y0e3qJb1RcHrMSuEdS5E2wXIO vQ21a0cDikPUETz4W7nPocsnfMev/Ex3No0XBrX6f/m9lh5buSTiEg== =NUyS -----END PGP SIGNATURE-----


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 2020, cxsecurity.com

 

Back to Top