Vulnerabilità di FortiSIEM dimostrata in una PoC pubblica per RCE
La vulnerabilità di FortiSIEM identificata come CVE-2026-106173 può consentire a un attaccante non autenticato di eseguire codice o comandi su un sistema interessato, e i ricercatori di cybersecurity hanno ora pubblicato una proof-of-concept (PoC) che mostra come funziona l'attacco. Una PoC è codice dimostrativo che conferma che una falla di sicurezza può essere sfruttata. La vulnerabilità ha un punteggio Common Vulnerability Scoring System (CVSS) di 9,4, che la colloca nella fascia di gravità critica.
Fortinet ha pubblicato le patch la scorsa settimana e consiglia agli utenti di FortiSIEM 7.5.0 di eseguire l'upgrade alla versione 7.5.1 o successiva. FortiSIEM 7.6 è indicato come non interessato. Le organizzazioni che utilizzano la versione vulnerabile dovrebbero considerare la disponibilità pubblica del metodo tecnico un motivo per dare priorità all'upgrade, soprattutto se il relativo servizio è raggiungibile da sistemi che non dovrebbero potervi accedere.
La falla è una vulnerabilità di path traversal, il che significa che un input controllato dall'attaccante può indirizzare il software al di fuori della cartella in cui dovrebbe memorizzare un file. Secondo Horizon3.ai, un attaccante non autenticato può connettersi al servizio gRPC di FortiSIEM sul TCP port 27918. gRPC è un metodo utilizzato dalle applicazioni per comunicare tra loro, mentre un TCP port è un punto di ingresso di rete numerato usato da un determinato servizio. Pacchetti appositamente preparati possono quindi essere utilizzati per sovrascrivere un file al di fuori della directory prevista.
Horizon3.ai ha ricondotto il comportamento non sicuro all'handler QueryResultReq e a una funzione denominata SendQueryResult(). L'handler elabora i metadati forniti tramite gRPC senza verificare adeguatamente il percorso del file risultante. Il valore query-id controllato dall'utente viene passato al processo di costruzione del percorso, consentendo a sequenze di directory traversal come ../ di risalire tra le cartelle e raggiungere un'altra posizione nel file system. I dati appositamente preparati vengono trasportati tramite HTTP/2 e HPACK, il protocollo e il formato di compressione utilizzati per la connessione.
Il solo path traversal non offre all'attaccante il controllo completo sul nome del file di destinazione. FortiSIEM aggiunge automaticamente un nome nel formato result--0-0-.dat, con l'identificatore finale generato da un contatore controllato dal server. Normalmente, questo comportamento limiterebbe l'attaccante alla scelta di una directory, lasciando al programma la determinazione del nome effettivo del file scritto.
La PoC aggira questa restrizione inserendo un NUL byte all'interno del valore query-id. Un NUL byte è uno speciale valore zero che molte funzioni del sistema operativo interpretano come la fine di una string. Quando il codice interessato passa il percorso completo alla funzione di apertura del file, il sistema operativo ignora i caratteri aggiunti automaticamente dopo il NUL byte. Un attaccante può quindi inserire il nome di destinazione desiderato immediatamente prima di tale terminatore e fare in modo che l'operazione di scrittura avvenga esattamente su quel percorso.
Horizon3.ai ha dimostrato la tecnica contro /opt/charting/redishb.sh, uno shell script esistente utilizzato per eseguire health check sul servizio Redis. Un cron job, ossia un'attività pianificata nel sistema, esegue tale script ogni 60 secondi. Sostituirne il contenuto trasforma la capacità di arbitrary-file-write in remote code execution, perché lo script modificato viene successivamente eseguito dall'attività pianificata. Horizon3.ai ha inoltre rilevato che la sovrascrittura di un file esistente ne conserva il proprietario e i permessi originali. Una seconda variante utilizza due richieste per creare un nuovo file con un nome esatto scelto dall'attaccante.
Per i provider di hosting, le aziende e i team IT, la domanda principale è se un ambiente di sicurezza gestito utilizzi ancora FortiSIEM 7.5.0 e se il TCP port 27918 sia raggiungibile da una rete non attendibile. L'attacco non richiede un account, quindi i normali controlli di login non risolvono il problema nella gestione vulnerabile delle richieste. L'aggiornamento alla versione 7.5.1 o successiva evita di dover fare affidamento esclusivamente sulle restrizioni di rete circostanti, mentre FortiSIEM 7.6 non è interessato secondo le indicazioni pubblicate sulle versioni.
Le organizzazioni che necessitano di assistenza per verificare sistemi sensibili dal punto di vista della sicurezza e pianificare gli upgrade possono utilizzare AEU-I per servizi IT, infrastruttura e consulenza orientati innanzitutto alla sicurezza. Indipendentemente da chi gestisce il deployment, la priorità pratica è individuare le installazioni interessate, applicare la release corretta e confermare che l'accesso al servizio gRPC sia limitato ai sistemi che ne hanno realmente bisogno.