- CVE-2025-34299 consente l'esecuzione di codice remoto senza autenticazione su Monsta FTP scaricando e scrivendo arbitrariamente file da un server (S)FTP dannoso.
- La vulnerabilità riguarda tutte le versioni precedenti alla 2.11.3 ed è correlata a errori storici di convalida del percorso e caricamento dei file insufficienti.
- La correzione efficace è inclusa in Monsta FTP 2.11.3, ma è essenziale integrare la patch con la segmentazione della rete, la restrizione dell'accesso API e il monitoraggio delle connessioni in uscita.

La vulnerabilità CVE-2025-34299 in Monsta FTP è diventata una delle falle più gravi degli ultimi tempi per le applicazioni di gestione file basate sul web. Questa falla di esecuzione di codice remoto senza autenticazione consente a un utente malintenzionato di assumere il controllo completo del server su cui è installato Monsta FTP, semplicemente forzando una connessione a un server (S)FTP malevolo e sfruttando una convalida insufficiente di percorsi e file.
Questo problema non è un caso isolato: si collega a una storia pregressa di vulnerabilità in Monsta FTP (SSRF, caricamenti arbitrari, validazioni parziali) e a un sistema di gestione delle patch alquanto confuso, in cui sono stati introdotti meccanismi di validazione che davano un falso senso di sicurezza senza però affrontare la causa principale della falla. Tutto ciò ha portato a una CVE critica con un punteggio CVSS di 9.3 , già sfruttata in ambienti reali e che interessa migliaia di istanze su Internet.
Cos'è Monsta FTP e perché questa vulnerabilità è importante?
Monsta FTP è un client FTP e SFTP basato sul web , sviluppato in PHP e JavaScript, che si installa direttamente su un server web per gestire i file tramite un browser, anziché utilizzare un client desktop tradizionale. Questo approccio risulta particolarmente comodo per amministratori e sviluppatori che desiderano caricare, scaricare e modificare file da qualsiasi luogo senza bisogno di software aggiuntivo.
Il problema è che questi tipi di strumenti, essendo esposti a Internet, diventano un bersaglio molto appetibile per gli hacker . Monsta FTP vanta una considerevole base di installazioni, con una presenza presso istituti finanziari, aziende e utenti esperti che lo utilizzano per gestire centralmente i propri siti web e server.
Inoltre, il percorso di installazione predefinito è solitamente /mftp/ , che in pratica "nasconde" molte installazioni dalle scansioni più generiche, ma non impedisce affatto a un utente malintenzionato che rileva la tecnologia di tentare di sfruttare vulnerabilità note.
In questo contesto, una falla che consente a un attaccante remoto e anonimo di caricare file arbitrari ed eseguirli sul server, come nel caso di CVE-2025-34299 , è particolarmente grave: l'applicazione, da semplice strumento di gestione file, si trasforma in un vettore diretto di compromissione totale del sistema.
Descrizione tecnica di CVE-2025-34299: origine e natura del guasto
La vulnerabilità CVE-2025-34299 è stata documentata in dettaglio dai ricercatori di watchTown Labs, che la descrivono come una falla di caricamento arbitrario di file con esecuzione di codice remoto in Monsta FTP. La falla interessa tutte le versioni precedenti alla 2.11.3 e consente a un utente malintenzionato remoto non autenticato di scaricare un file sotto il proprio controllo da un server (S)FTP e di salvarlo in un percorso arbitrario sul server web, dove può essere successivamente eseguito.
Nelle versioni iniziali (fino alla 2.11), il problema era legato alla gestione non sicura dei parametri e alla mancanza di una validazione robusta di percorsi e file . Vulnerabilità simili erano già state segnalate, come CVE-2022-27468 (caricamento arbitrario di file) e CVE-2022-31827 (SSRF), che evidenziavano come parte del flusso di download e copia dei file non fosse adeguatamente protetta.
I ricercatori hanno scoperto che, sebbene in seguito fosse stato introdotto un modulo di validazione ( inputValidator.php ) con numerose funzioni per rilevare l'attraversamento delle directory, i percorsi assoluti, i byte nulli e i pattern sospetti , queste difese non venivano applicate correttamente al flusso che di fatto consentiva la scrittura non sicura dei file. In altre parole, la superficie di attacco rimaneva aperta anche con tutti quei filtri in atto.
In pratica, in Monsta FTP fino alla versione 2.11.2, un utente malintenzionato poteva forzare il download di un file da un server SFTP controllato e ordinarne il salvataggio in una directory accessibile dal web, ottenendo così l'esecuzione di codice con i permessi del processo del server web , solitamente www-data o un altro utente simile.
Come sfruttare la vulnerabilità nell'API FTP di Monsta
Il nucleo della vulnerabilità risiede nell'endpoint /mftp/application/api/api.php , che funge da punto centrale per le azioni dell'applicazione. Questo endpoint riceve un parametro chiamato `request` nel corpo della richiesta HTTP, che contiene un JSON strutturato con tutti i dati necessari per stabilire la connessione (S)FTP ed eseguire operazioni sui file.
All'interno di tale file JSON, vengono specificati aspetti quali il tipo di connessione ( connectionType = "sftp"), la configurazione del server remoto ( configuration : host, porta, nome utente, password, directory home) e il nome dell'azione da eseguire ( actionName ), come downloadFile , uploadFile o fetchRemoteFile . Ulteriori parametri, inclusi i percorsi locali e remoti, sono inclusi nella sezione context .
L'applicazione include una funzione di dispatch che, tramite un'istruzione switch , decide cosa fare in base a actionName. È qui che entra in gioco la logica di validazione del modulo InputValidator , che controlla parametri come remotePath o localPath per determinate azioni, cercando di prevenire l'attraversamento di directory o percorsi pericolosi.
Tuttavia, i ricercatori hanno osservato che, nel caso specifico dell'azione downloadFile , l'implementazione effettiva si basava su un flusso di codice in cui il percorso locale in cui veniva copiato il file remoto rimaneva controllabile dall'attaccante tramite il parametro localPath . Questo valore finiva per essere utilizzato direttamente nella chiamata copy() senza alcuna restrizione effettiva sulle directory in cui era possibile scrivere.
In pratica, ciò significa che un utente malintenzionato può costruire una richiesta HTTP POST a /mftp/application/api/api.php istruendo Monsta FTP a connettersi a un server SFTP malevolo, scaricare un file (ad esempio, shell.php ) e memorizzarlo in una posizione arbitraria sul server web, come /var/www/html/mftp/index3.php . A quel punto, una semplice richiesta GET al file appena creato è sufficiente per eseguire codice PHP malevolo con privilegi lato server.
Confronto con vulnerabilità precedenti e fallimenti di patching
La vulnerabilità CVE-2025-34299 non è emersa dal nulla: Monsta FTP aveva già una storia di vulnerabilità legate alla gestione non sicura degli input dell'utente e dei percorsi dei file. Versioni come la 2.10.3 e la 2.10.4 erano già state colpite dalle vulnerabilità CVE-2022-31827 e CVE-2022-27468, che riguardavano sia SSRF che caricamenti arbitrari di file.
L'indagine dettagliata di WatchTower ha dimostrato che, nonostante la presenza di vulnerabilità CVE documentate, non vi sono state praticamente modifiche rilevanti al codice tra le versioni 2.10.3 e 2.10.4. In altre parole, le versioni successive sono rimaste sostanzialmente vulnerabili agli stessi problemi e le patch non hanno corretto la logica che consentiva la scrittura di file pericolosi.
Con il rilascio della versione 2.11 , Monsta FTP ha introdotto il modulo inputValidator.php , che ha aggiunto funzionalità di validazione molto complete: rilevamento di stringhe come "../", varianti hardcoded (%2f, %5c, ecc.), percorsi assoluti, lunghezza massima del percorso e altri schemi sospetti. A prima vista, sembrava una pulizia approfondita del codice volta a rafforzare la sicurezza.
Tuttavia, quando i ricercatori hanno eseguito nuovamente la prova di concetto SSRF e caricato i file, hanno scoperto che gli attacchi funzionavano ancora anche nella versione 2.11. In altre parole, un livello di "protezione" per la validazione era stato applicato a molti punti di ingresso, ma il flusso specifico che rendeva possibile la scrittura arbitraria non era stato interrotto.
Questo schema illustra un problema comune a molti progetti: implementare livelli di validazione generici senza esaminare a fondo i percorsi di codice critici che portano a operazioni pericolose come l'apertura, la scrittura o la copia di file sul server. Il risultato è un falso senso di sicurezza sia per gli sviluppatori che per gli amministratori, mentre la vulnerabilità principale rimane aperta.
Sfruttamento senza credenziali e portata di impatto
Una delle caratteristiche più preoccupanti di CVE-2025-34299 è che l'exploit è completamente pre-autenticazione , il che significa che non sono necessarie credenziali valide o una sessione precedente nel pannello di Monsta FTP. L'attaccante ha solo bisogno che l'istanza di Monsta FTP sia accessibile da Internet e che l' API /mftp/application/api/api.php accetti la richiesta malevola.
Acquisendo la capacità di eseguire codice con i permessi del server web, un aggressore può installare backdoor , distribuire webshell, leggere o modificare file di applicazioni e persino accedere ad altri sistemi sulla rete interna se l'architettura non è adeguatamente segmentata. In ambienti aziendali o finanziari, ciò può portare al furto di dati sensibili, frodi o gravi interruzioni del servizio.
La portata dell'impatto è amplificata dalla significativa diffusione di Monsta FTP , con diverse migliaia di istanze accessibili su Internet, secondo le stime dei ricercatori. Molte di queste non compaiono nemmeno nelle scansioni generiche a causa del contesto predefinito /mftp/ , il che rende difficile per le organizzazioni sapere se effettivamente presentano questa vulnerabilità e, in tal caso, quale versione.
Un altro punto critico è che la vulnerabilità può essere sfruttata da qualsiasi parte del mondo, a condizione che il server web sia accessibile e che sia possibile stabilire una connessione al server SFTP malevolo a livello di rete. Se non sono presenti regole del firewall che limitano le connessioni in uscita dal server verso Internet, lo sfruttamento diventa estremamente semplice.
In questo scenario, gli aggressori possono automatizzare le scansioni e lo sfruttamento delle vulnerabilità di Monsta FTP, integrandole nelle loro campagne di attacco di massa , sia per il ransomware che per l'installazione di botnet o il furto di credenziali.
Versioni interessate, cronologia e patch disponibile
La vulnerabilità CVE-2025-34299 interessa tutte le versioni di Monsta FTP precedenti alla 2.11.3 . Ciò include le versioni in cui erano già state registrate altre CVE (2.10.3, 2.10.4, 2.11, 2.11.1, 2.11.2) e che continuavano a presentare il problema nella logica interna di download e copia dei file.
Secondo le ricerche di watchTown, la cronologia nota della scoperta e della correzione della vulnerabilità è, a grandi linee, la seguente:
- 13 agosto 2025: watchTowr segnala la vulnerabilità (denominata WT-2025-0091) al team di sviluppo FTP di Monsta.
- 14 agosto 2025Il team FTP di Monsta conferma di aver ricevuto la segnalazione e si impegna a esaminare il problema.
- 15 agosto 2025: watchTowr avvia un'analisi più ampia della superficie di attacco dei suoi clienti alla ricerca di istanze vulnerabili di Monsta FTP.
- 26 agosto 2025La versione è pubblicata 2.11.3 da Monsta FTP, che finalmente corregge efficacemente la vulnerabilità affrontare il flusso di scrittura insicuro.
- 4 Novembre 2025.L'identificatore viene assegnato ufficialmente. CVE-2025-34299 a questa vulnerabilità.
- 6 Novembre 2025.WatchTower pubblica la sua dettagliata indagine tecnica sul guasto.
A partire dalla versione 2.11.3 , il codice introduce controlli aggiuntivi che limitano i percorsi di scrittura alle directory consentite e rafforza la convalida dei parametri, impedendo l'utilizzo arbitrario di localPath per scrivere in posizioni di sistema che potrebbero essere servite dal server web.
Il consenso generale tra analisti e fornitori di soluzioni di sicurezza è chiaro: qualsiasi organizzazione che utilizzi ancora versioni precedenti alla 2.11.3 dovrebbe aggiornare immediatamente o, se ciò non fosse possibile, disabilitare l'accesso pubblico a Monsta FTP durante la pianificazione della migrazione.
Come identificare le istanze vulnerabili di Monsta FTP
Individuare tutte le istanze di Monsta FTP all'interno di un'organizzazione non è sempre semplice, soprattutto in presenza di server obsoleti o dimenticati, dove lo strumento è stato installato anni fa e mai più controllato. È qui che entrano in gioco le soluzioni di gestione della superficie di attacco e di individuazione delle risorse.
Strumenti come runZero hanno pubblicato query specifiche per aiutare a identificare potenziali vulnerabilità basate su funzionalità come la favicon dell'applicazione. Un esempio di query suggerita è:
_asset.protocol:http AND protocol:http AND favicon.ico.image.mmh3:="1535999103"
Questa query identifica i servizi HTTP la cui favicon corrisponde a quella di Monsta FTP, fornendo un elenco iniziale di sistemi che richiedono un'analisi dettagliata della versione e della configurazione . Successivamente, è fondamentale convalidare manualmente la versione installata e verificare se è stata applicata la patch 2.11.3 o successiva.
Oltre a queste tipologie di ricerche, è consigliabile effettuare inventari interni (ad esempio, con script o strumenti di scansione) che individuino il percorso /mftp/ sui server web e rivedano i file dell'applicazione, poiché alcune installazioni potrebbero non seguire la configurazione standard di porte o domini.
Misure di mitigazione e buone pratiche di difesa
Sebbene il passo fondamentale per mitigare la vulnerabilità CVE-2025-34299 sia aggiornare Monsta FTP alla versione 2.11.3 o successiva , limitarsi ad applicare la patch e dimenticarsene è una pessima idea. Questo incidente dimostra chiaramente la necessità di ulteriori livelli di sicurezza per applicazioni di questo tipo.
Innanzitutto, si raccomanda vivamente di limitare l'accesso all'API FTP di Monsta. L'endpoint /mftp/application/api/api.php non dovrebbe essere accessibile pubblicamente da alcun indirizzo IP su Internet. Idealmente, il traffico dovrebbe essere filtrato tramite firewall o liste di controllo degli accessi, consentendo solo intervalli specifici (ad esempio, la rete VPN aziendale) o addirittura limitandone l'utilizzo a una rete intranet; una soluzione comune sui server Linux è l'utilizzo di iptables per questo tipo di filtraggio.
In secondo luogo, è necessario implementare una corretta segmentazione della rete . I server web che ospitano applicazioni come Monsta FTP non dovrebbero avere accesso diretto e illimitato ai sistemi critici (database principali, sistemi ERP, sistemi finanziari, ecc.). Con una buona segmentazione e una comprensione del modello TCP/IP , anche se il server web viene compromesso, l'attaccante avrà molta più difficoltà a spostarsi lateralmente all'interno della rete.
Un'altra misura essenziale è il monitoraggio delle connessioni in uscita anomale , in particolare quelle relative a SFTP, FTP o SSH verso destinazioni esterne insolite. Lo sfruttamento di questa vulnerabilità richiede che il server vulnerabile si connetta a un server (S)FTP controllato dall'attaccante, pertanto un sistema di monitoraggio o SIEM ben configurato dovrebbe essere in grado di generare avvisi quando rileva questo tipo di traffico sospetto.
Infine, si raccomanda di implementare e configurare correttamente un firewall per applicazioni web (WAF) e di applicare politiche di protezione del server: ridurre i permessi di scrittura, assicurarsi che il processo del server web venga eseguito con i privilegi più bassi possibili ed effettuare scansioni periodiche delle vulnerabilità per rilevare istanze obsolete o versioni non aggiornate.
Zero trust, monitoraggio continuo e contesto di altre vulnerabilità
Il caso Monsta FTP e la vulnerabilità CVE-2025-34299 illustrano perfettamente perché gli approcci di sicurezza zero-trust siano sempre più necessari. L'idea che un'applicazione esposta a Internet possa essere considerata affidabile semplicemente perché "aggiornata" è ingenua quando i flussi di sfruttamento si concentrano su dettagli di implementazione molto specifici .
Adottare un approccio zero-trust implica la convalida e il monitoraggio continui di ogni punto di accesso, ogni connessione e ogni modifica di configurazione, anziché presumere che, una volta configurato e aggiornato, un servizio non causerà più problemi. Nel caso di Monsta FTP, ciò significa non solo aggiornare, ma anche esaminare regolarmente i log , il comportamento della rete, l'integrità dei file e la comparsa di nuovi file sospetti (shell, script sconosciuti, ecc.).
Inoltre, questo incidente non è un caso isolato: anche altri prodotti ampiamente diffusi, come i browser web, sono regolarmente soggetti a vulnerabilità critiche. Un esempio recente al di fuori del mondo di Monsta FTP è la vulnerabilità CVE-2024-11395 in Google Chrome, un difetto di confusione di tipo nel motore V8 che potrebbe consentire l'esecuzione di codice arbitrario tramite pagine HTML appositamente create.
Nel caso di Chrome, Google ha rilasciato un aggiornamento stabile (versioni 131.0.6778.85/.86 per Windows e Mac e 131.0.6778.85 per Linux) per correggere tre vulnerabilità, inclusa questa di elevata gravità. Le raccomandazioni erano chiare: aggiornare immediatamente , abilitare gli aggiornamenti automatici ed evitare siti web provenienti da fonti dubbie. Il parallelismo con Monsta FTP è evidente: un prodotto ampiamente utilizzato, una grave falla, la necessità di una patch immediata, eppure una percentuale significativa di sistemi impiega tempo ad aggiornarsi.
Tutto ciò rafforza l'idea che la sicurezza non sia un evento isolato, ma un processo continuo di gestione dell'esposizione , come nel caso delle piattaforme focalizzate sulla gestione proattiva delle minacce esterne e delle superfici di attacco. L'integrazione di questi strumenti e pratiche nelle operazioni quotidiane consente di ottenere un vantaggio prezioso come il tempo di reazione alle nuove vulnerabilità.
La vulnerabilità CVE-2025-34299 di Monsta FTP, la sua correlazione con precedenti falle, il lungo percorso verso una patch realmente efficace e la necessità di integrare gli aggiornamenti con controlli di rete, WAF, segmentazione e un approccio zero-trust, delineano un quadro in cui le organizzazioni che adottano una strategia di difesa proattiva avranno molte più opzioni per impedire che un semplice client web FTP diventi la porta d'accesso a un grave incidente.