
Exploit proof-of-concept per CVE-2025-44137: directory traversal non autenticata in MapTiler Tileserver-php v2.0, che consente la lettura arbitraria di file tramite parametri GET modificati.
Lettura di file non autenticata in MapTiler Tileserver-php v2.0.
MapTiler Tileserver-php v2.0 è vulnerabile a Directory Traversal. La funzione renderTile all'interno di tileserver.php è responsabile della consegna delle tile memorizzate come file sul server tramite richiesta web. Creando il percorso di un file è possibile utilizzare '../', che può essere usato per leggere qualsiasi file sul server web. I parametri GET interessati sono "TileMatrix", "TileRow", "TileCol" e "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