
Prova de conceito de exploração para CVE-2025-44137: travessia de diretório não autenticada no MapTiler Tileserver-php v2.0, permitindo leitura arbitrária de arquivos através de parâmetros GET manipulados.
Leitura de Arquivo Não Autenticada no MapTiler Tileserver-php v2.0.
O MapTiler Tileserver-php v2.0 é vulnerável a Directory Traversal. A função renderTile dentro de tileserver.php é responsável por entregar tiles que são armazenados como arquivos no servidor via requisição web. Criar o caminho para um arquivo permite o uso de '../', que pode ser usado para ler qualquer arquivo no servidor web. Os parâmetros GET afetados são "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