
Proof-of-concept exploit for CVE-2025-44137: unauthenticated directory traversal in MapTiler Tileserver-php v2.0, enabling arbitrary file read via crafted GET parameters.
MapTiler Tileserver-php v2.0 における認証なしファイル読み取り
MapTiler Tileserver-php v2.0 はディレクトリトラバーサルに対して脆弱です。tileserver.php 内の renderTile 関数は、Web リクエストを介してサーバー上のファイルとして保存されたタイルを配信します。ファイルへのパスを作成する際に '../' を使用できるため、Web サーバー上の任意のファイルを読み取ることが可能です。 影響を受ける GET パラメータは、「TileMatrix」「TileRow」「TileCol」「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