
Proof-of-concept di exploit in Python per CVE-2026-106173, una scrittura di file tramite path traversal non autenticato su gRPC in Fortinet FortiSIEM che consente l'esecuzione remota di comandi alla cieca.
Questo repository contiene un proof of concept per CVE-2026-106173, una vulnerabilità di esecuzione remota di codice non autenticata in Fortinet FortiSIEM.
Il gestore gRPC QueryResultReq di FortiSIEM elabora metadati non attendibili senza una corretta validazione del percorso. Creando metadati che contengono sia sequenze di path traversal (../) sia iniezione di byte NUL all'interno dei livelli di codifica HTTP/2 e HPACK di gRPC, un attaccante può scrivere file arbitrari sul filesystem.
L'analisi tecnica che copre la causa principale, i dettagli di sfruttamento e gli indicatori di compromissione è disponibile sul blog di ricerca sugli attacchi di Horizon3.ai:
% python3 CVE-2026-106173.py -h
usage: CVE-2026-106173.py [-h] -t TARGET [-c COMMAND] [-p PORT] [--plaintext]
[--dry-run]
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
IP or hostname of the FortiSIEM instance
-c COMMAND, --command COMMAND
Command to execute on the target
-p PORT, --port PORT FortiSIEM gRPC port (default: 27918)
--plaintext Use HTTP/2 without TLS
--dry-run Display the request without sending
Esegui un comando arbitrario:
python3 CVE-2026-106173.py -t 10.0.18.x -c 'id'
NOTA: l'esecuzione è cieca e richiede fino a 60 secondi affinché il cron job attivi l'esecuzione dello script che abbiamo sovrascritto.
Questo software è stato creato esclusivamente per scopi di ricerca accademica e per lo sviluppo di tecniche difensive efficaci, e non è destinato all'uso per attaccare sistemi se non dove esplicitamente autorizzato." I manutentori del progetto non si assumono alcuna responsabilità per usi impropri. Usare in modo responsabile.