[Mapbender-users] Sicherheitslücke - security leak
Christoph Baudson
christoph.baudson at wheregroup.com
Thu Mar 13 07:35:21 EDT 2008
Durch einen Penetrationstest sind zwei Sicherheitslücken in Mapbender
gefunden worden. Diese sind in der Version 2.4.5 rc1 behoben worden.
Details sind hier zu finden:
1) Remote Command Execution in Mapbender, siehe
http://www.redteam-pentesting.de/advisories/rt-sa-2008-001.php
Als Workaround empfehlen wir, die Datei mapFiler.php aus dem Ordner
"tools" zu löschen, oder alternativ den Ordner "tools" mittels .htaccess
durch ein Passwort zu schützen.
In Mapbender 2.4.5 rc1 ist der "tools"-Ordner entfernt worden. Falls
dieser benötigt wird, kann er aus dem SVN ausgecheckt werden und unter
Beachtung des Workarounds eingesetzt werden. Die SVN-Adresse lautet
https://svn.osgeo.org/mapbender/branches/2.4.5/http/tools/
2) SQL-Injections in Mapbender, siehe
http://www.redteam-pentesting.de/advisories/rt-sa-2008-002.php
In der Datei "http/php/mod_gazetteer_edit.php" muss hier als Workaround
die SQL-Auswertung mittels Prepared Statements erfolgen. Folgende Zeilen
$sql = "SELECT * FROM gazetteer WHERE gazetteer_id = ".$_REQUEST["gaz"];
$res = db_query($sql);
müssen durch
$sql = "SELECT * FROM gazetteer WHERE gazetteer_id = $1";
$v = array($_REQUEST["gaz"]);
$t = array("i");
$res = db_prep_query($sql, $v, $t);
ersetzt werden.
--
A penetration test has identified two security leaks in Mapbender. These leaks have been fixed in version 2.4.5 rc1.
1) Remote Command Execution in Mapbender, see
http://www.redteam-pentesting.de/advisories/rt-sa-2008-001.php
As Workaround, delete the file Datei mapFiler.php in folder "tools", or alternatively secure the "tools" folder with a password via .htaccess
In Mapbender 2.4.5 rc1 the "tools" folder has been deleted. If required, download it from the SVN, with regard to the given workaround. The SVN location is
https://svn.osgeo.org/mapbender/branches/2.4.5/http/tools/
2) SQL-Injections in Mapbender, see
http://www.redteam-pentesting.de/advisories/rt-sa-2008-002.php
In the file "http/php/mod_gazetteer_edit.php" the SQL evaluation has to be done via prepared statements. Replace the following lines
$sql = "SELECT * FROM gazetteer WHERE gazetteer_id = ".$_REQUEST["gaz"];
$res = db_query($sql);
by
$sql = "SELECT * FROM gazetteer WHERE gazetteer_id = $1";
$v = array($_REQUEST["gaz"]);
$t = array("i");
$res = db_prep_query($sql, $v, $t);
--
Gruß, Christoph Baudson
More information about the Mapbender_users
mailing list