
Proof-of-Concept-Exploit für CVE-2025-44137: nicht authentifizierte Directory Traversal in MapTiler Tileserver-php v2.0, die beliebiges Dateilesen über manipulierte GET-Parameter ermöglicht.
Nicht authentifiziertes Auslesen von Dateien in MapTiler Tileserver-php v2.0.
MapTiler Tileserver-php v2.0 ist anfällig für Directory Traversal. Die Funktion renderTile in tileserver.php ist dafür verantwortlich, Kacheln, die als Dateien auf dem Server gespeichert sind, per Webanfrage auszuliefern. Beim Erstellen des Pfads zu einer Datei kann '../' verwendet werden, wodurch jede Datei auf dem Webserver gelesen werden kann. Betroffen sind die GET-Parameter "TileMatrix", "TileRow", "TileCol" und "Format"
$name = './' . $tileset . '/' . $z . '/' . $x . '/' . $y;
$mime = 'image/';
if($ext != null){
$name .= '.' . $ext;
}
if ($fp = @fopen($name, 'rb')) {
if($ext != null){
$mime .= $ext;
}else{
//detect image type from file
$mimetypes = ['gif', 'jpeg', 'png'];
$mime .= $mimetypes[exif_imagetype($name) - 1];
}
header('Access-Control-Allow-Origin: *');
header('Content-Type: ' . $mime);
header('Content-Length: ' . filesize($name));
fpassthru($fp);
die;

Martin Herancourt