CVE-2025-56399 – Esecuzione di Codice Remota Autenticata in laravel-file-manager v3.3.1
🧭 Panoramica
Una vulnerabilità di Esecuzione di Codice Remota (RCE) autenticata in laravel-file-manager v3.3.1 e versioni precedenti consente ad attaccanti con accesso all'interfaccia del file manager di eseguire codice arbitrario sul server. Caricando un file con un'estensione non-PHP consentita (ad es. .png, .pdf) contenente codice PHP malevolo e rinominandolo con estensione .php, oppure creando e modificando direttamente un file .php, gli attaccanti possono ottenere RCE quando il file viene accesso tramite un URL pubblico.
🧱 Componente Affetto
- Progetto:
laravel-file-manager
- Componente: API di upload/rinomina file
- Versione affetta: v3.3.1 e precedenti
🎯 Vettori d'Attacco
- Autenticarsi con un account che ha accesso alla funzionalità di upload o creazione file del file manager.
- Caricare un file (ad es. shell.png) contenente codice PHP malevolo (ad es.
<?php system($_GET['c']); ?>) tramite l'interfaccia di upload o l'API del file manager.
- Utilizzare l'API o l'interfaccia di rinomina per cambiare l'estensione del file da shell.png a shell.php.
- Accedere al file tramite un URL pubblico (ad es. https://server-ip-address/storage/shell.php?c=id) per eseguire il payload PHP.
- In alternativa, utilizzare la funzione "Crea File" per creare un file (ad es. shell.php), quindi usare la funzione di modifica per inserire codice PHP malevolo e accedervi tramite un URL pubblico.
💥 Impatto
- Esecuzione di Codice Remota (RCE): gli attaccanti possono eseguire comandi arbitrari nel contesto del server web.
- Compromissione del Sistema: a seconda della configurazione del server, ciò potrebbe portare alla compromissione totale dell'applicazione web e del sistema host.
- Rischio Critico: impatto elevato su riservatezza, integrità e disponibilità del sistema affetto.
CVSS v3
Punteggio Base: 8.8
Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Gravità: Alta
🛡️ Mitigazione Raccomandata
- Implementare la validazione lato server dei tipi MIME e dei magic byte dei file per garantire che i file caricati corrispondano alle loro estensioni.
- Applicare una whitelist rigorosa delle estensioni consentite e rifiutare estensioni eseguibili come .php.
- Limitare la rinomina dei file per impedire il cambio verso estensioni eseguibili senza ulteriore validazione.
- Disabilitare l'esecuzione di script/PHP nelle directory di upload.
🙏 Crediti
Scoperto e segnalato da: Chayawat Jeamprasertboon, Thanakorn Boontem, Theethat Thamwasin