
Reconstruction indépendante, validation en laboratoire et PoC pour CVE-2026-9198, la RCE non authentifiée de Langflow (corrigée dans la version 1.10.1)
Reconstruction indépendante, validation en laboratoire et divulgation de l'exposition pour l'injection de code dans Langflow (CVE-2026-9198), une exécution de code à distance non authentifiée de score CVSS 9.8 affectant les déploiements par défaut de Langflow 1.0.0 à 1.10.0. Corrigée dans la version 1.10.1 et ajoutée au catalogue des vulnérabilités connues et exploitées (Known Exploited Vulnerabilities) de la CISA le 2026-08-04.
Fenêtre de recherche : 17-18 août 2026. Toute l'exploitation a été menée exclusivement contre des instances de laboratoire que nous possédons.
Article web : https://riftweld.github.io/langflow-cve-2026-9198/
Ceci n'est pas le rapport de découverte original. CVE-2026-9198 a été divulguée publiquement par IBM et la CISA ; ce dépôt documente une reconstruction indépendante de la cause racine, une reproduction en laboratoire et une campagne coordonnée de notification aux fournisseurs d'hébergement.
| Chemin | Description |
|---|---|
WRITEUP.md | Article complet : cause racine, la chaîne d'exploitation, le différentiel en laboratoire, l'exposition et la divulgation via les fournisseurs |
LAB-VALIDATION.md | Journal de laboratoire : reproduction sur 1.10.0 et différentiel avec la version corrigée 1.10.1 |
poc/poc_takeover.py | PoC de laboratoire de bout en bout (laboratoire uniquement, modifier d'abord l'hôte cible) |
poc/poc_transcript.md | Transcription d'une exécution du PoC contre nos conteneurs de laboratoire |
recon/shodan_langflow_recon.py | Énumération passive de l'exposition (API Shodan, sans sondage actif) |
notifications/ | Copies des huit e-mails de notification envoyés aux services de signalement d'abus des fournisseurs d'hébergement (tableaux par instance non divulgués) |
GET /api/v1/auto_login sur les déploiements par défaut (LANGFLOW_AUTO_LOGIN=true) renvoyait un JWT superutilisateur de longue durée sans aucune authentification.POST /api/v1/validate/code exécutait les définitions de fonctions soumises et renvoyait la sortie des commandes dans la réponse HTTP : exécution de code non authentifiée complète.langflowai/langflow:1.10.0 dans un laboratoire isolé ; le contrôle en 1.10.1 ferme les deux volets (jetons de courte durée ; puits d'exécution vide).Laboratoire uniquement. Démarrez un conteneur Langflow vulnérable, puis pointez le script vers celui-ci :
docker run -d --name lf-lab -p 127.0.0.1:7860:7860 \
-e LANGFLOW_AUTO_LOGIN=true langflowai/langflow:1.10.0
python3 poc/poc_takeover.py --url http://127.0.0.1:7860 --cmd "id"
Ne jamais exécuter ceci contre des systèmes tiers. Les constats d'exposition ont été traités via les canaux de signalement d'abus des fournisseurs d'hébergement ; les enregistrements par cible ne sont volontairement pas publiés.
| Date | Événement |
|---|---|
| 2026-06-23 | Publication de Langflow 1.10.1 (correctif) |
| 2026-07-02 | Bulletin IBM |
| 2026-07-06 | Premières détections par capteurs en conditions réelles (avant publication) |
| 2026-07-17 | Publication de la CVE |
| 2026-07-29 | Fusion du template nuclei public |
| 2026-08-04 | Inscription au catalogue KEV de la CISA (remédiation due le 08-07) |
| 2026-08-17/18 | Cette reconstruction indépendante, validation en laboratoire et notifications aux fournisseurs |
Le code est fourni tel quel à des fins défensives et éducatives.