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-Lab — Laboratoire reproductible pour CVE-2026-33017, une RCE non authentifiée dans Langflow. Inclut un service vulnérable conteneurisé avec Docker et un PoC à impact minimal qui démontre l'exécution de code via le point de terminaison public de build. | Kitploit
Outils/GitHubGitHub/rootdirective-sec/cve-2026-33017-lab
Analyse des VulnérabilitésExploitationExploitation d'Applications WebArticles et RechercheApprentissage et ÉducationLabs et Pratique
GitHubrootdirective-sec/cve-2026-33017-lab

CVE-2026-33017-Lab

Laboratoire reproductible pour CVE-2026-33017, une RCE non authentifiée dans Langflow. Inclut un service vulnérable conteneurisé avec Docker et un PoC à impact minimal qui démontre l'exécution de code via le point de terminaison public de build.

Voir le dépôt
il y a 5 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 — Laboratoire RCE non authentifié Langflow

Résumé Exécutif

CVE-2026-33017 est une vulnérabilité d'Exécution de Code à Distance (RCE) non authentifiée dans Langflow où un endpoint de build public accepte des données de flux contrôlées par l'attaquant, permettant l'exécution de code de composant personnalisé sur le serveur.

Dans ce laboratoire, le flux de validation est :

  1. Obtenir un jeton d'accès via le flux de connexion automatique
  2. Créer un nouveau flux PUBLIC
  3. Envoyer le code de composant contrôlé par l'attaquant à l'endpoint de build public
  4. Recevoir un job_id
  5. Interroger le résultat via l'API des événements de build
  6. Lire l'objet de preuve directement depuis la sortie du composant

La preuve est récupérée directement via le mécanisme d'événements de l'API Langflow, rendant le résultat observable via l'interface système elle-même.


Portée de ce Dépôt

Ce document présente un laboratoire vuln uniquement.

Actuellement, docker compose ne contient qu'un seul service : vuln, car ce projet suit une approche et évite les environnements corrigés qui ne sont pas basés sur un artefact corrigé officiel.

artefacts réels uniquement

Comportement Vérifié dans ce Laboratoire

Le comportement suivant a été vérifié dans ce laboratoire :

  • Une instance Langflow vulnérable s'exécute sur http://localhost:7861
  • L'endpoint de version retourne 1.8.1
  • Un flux public peut être créé
  • build_public_tmp retourne un job_id
  • Le PoC peut continuer à interroger les événements
  • L'objet de preuve est retourné via l'API
  • Le code contrôlé par l'attaquant est exécuté dans l'environnement d'exécution Langflow

Exemple d'objet de preuve :

root@kitploit:~
{
  "canary": "lf33017-c14fc1c9",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "155aa3fd5e2a",
  "cwd": "/app",
  "python_version": "3.12.12"
}

Les preuves clés sont :

  • id_output
  • whoami
  • hostname
  • cwd
  • python_version

Les informations ci-dessus montrent que le code contrôlé par l'attaquant a réellement été exécuté côté serveur.


Structure du Dépôt

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

Prérequis

  • Linux ou macOS
  • Docker Desktop ou Docker Engine
  • Docker Compose v2
  • Python 3

Présentation des Services

vuln

  • Instance Langflow vulnérable
  • Port lié : 7861 -> 7860
  • Utilisé pour reproduire CVE-2026-33017 sur localhost

Comment Fonctionne la Vulnérabilité

Cette vulnérabilité existe car l'endpoint de build public de Langflow accepte des définitions de flux fournies par l'utilisateur, même si l'endpoint est déjà conçu pour les flux publics. Lorsqu'un attaquant soumet une définition de nœud contenant du code de composant personnalisé, le système transmet ce code dans le chemin de build du flux, ce qui aboutit finalement à une exécution de code sur le serveur.

Le PoC de ce projet utilise un composant personnalisé qui retourne un objet de preuve dans sa sortie pour démontrer que le code contrôlé par l'attaquant est réellement exécuté.


Conception du PoC

Le PoC de ce projet est conçu pour être à impact minimal et se concentre sur une preuve clairement observable via l'API. Son flux de travail est le suivant :

  1. Attendre que Langflow soit prêt
  2. Appeler l'endpoint de connexion automatique pour obtenir un jeton
  3. Créer un flux PUBLIC
  4. Envoyer le code de composant personnalisé à l'endpoint de build public
  5. Recevoir un job_id
  6. Interroger l'API des événements de build
  7. Analyser l'objet de preuve depuis la charge utile de l'événement

Ce PoC ne couvre pas :

  • L'ouverture d'un shell
  • L'établissement d'une connexion inverse
  • La mise en place d'une persistance
  • L'exfiltration de secrets
  • L'utilisation d'un webshell

Exécuter le Laboratoire

1) Démarrer le service vulnérable

root@kitploit:~
docker compose up -d --build

2) Vérifier l'endpoint de version

root@kitploit:~
curl -i http://localhost:7861/api/v1/version

3) Exécuter le PoC

root@kitploit:~
python3 poc/poc.py --base-url http://localhost:7861 --artifact-dir ./artifacts/vuln

Sortie Attendue

Lorsque le PoC réussit, la sortie ressemblera à ceci :

root@kitploit:~
[+] http://localhost:7861 ready (version=1.8.1)

=== TARGET: vuln ===
Base URL : http://localhost:7861
Version  : 1.8.1
Flow ID  : <uuid>
HTTP     : 200
Job ID   : <uuid>
Canary   : lf33017-xxxxxxxx
Events   : artifacts/vuln/events-<job_id>.ndjson
Polls    : 2

[+] Proof observed through the Langflow API events endpoint:
{
  "canary": "lf33017-xxxxxxxx",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "<container-hostname>",
  "cwd": "/app",
  "python_version": "3.12.x"
}

[+] Vulnerable behavior observed

Le fichier artifacts/vuln/events-<job_id>.ndjson stocke les données brutes des événements pour un débogage supplémentaire.


Ce que le PoC Actuel Prouve

Ce PoC démontre que :

  • Un attaquant peut invoquer le flux de build public
  • Le code contrôlé par l'attaquant est exécuté sur le serveur Langflow
  • Le contexte d'exécution est retourné via l'API
  • L'impact réel est l'exécution de code non authentifiée

Ce PoC n'est pas destiné à démontrer une persistance ou une post-exploitation avancée et maintient l'impact au niveau minimal nécessaire pour valider la vulnérabilité.


Impact

Sur la base de ce laboratoire, l'impact démontré est :

  • Un attaquant non authentifié peut exécuter du code Python sur le serveur Langflow
  • Un attaquant peut accéder au contexte d'exécution du processus
  • Un attaquant peut exécuter des commandes système ponctuelles
  • Un attaquant peut accéder au répertoire de travail et aux métadonnées d'exécution

Pourquoi il n'y a Pas de Service Corrigé

Ce dépôt n'inclut pas de service corrigé par conception.

Sa portée est limitée à la reproduction du comportement vulnérable sur un artefact amont réel. Un côté corrigé n'est ajouté que lorsqu'un artefact corrigé officiel clairement vérifiable est disponible auprès du fournisseur ou du projet amont.

Pour cette raison, ce dépôt évite délibérément :

  • la construction d'une image locale pour simuler une version corrigée,
  • la modification de la source de l'image pour imiter le comportement du correctif, ou
  • l'ajout de scripts d'assistance qui créeraient l'apparence d'une comparaison vulnérable-ou-corrigé sans artefact corrigé amont authentique.

Cela maintient le laboratoire étroitement ciblé et techniquement honnête. Plutôt que de présenter une configuration côte à côte artificielle, le dépôt se concentre sur trois choses :

  • un comportement vulnérable reproductible,
  • une preuve de concept transparente, et
  • une documentation qui reste alignée avec les artefacts amont réels.

En pratique, cela rend ce dépôt particulièrement adapté pour :

  • la reproduction de vulnérabilités,
  • l'analyse technique et le support de rédaction, et
  • une utilisation en portfolio où la reproductibilité et la crédibilité comptent plus qu'un environnement corrigé synthétique.

Nettoyage

root@kitploit:~
docker compose down -v

Notes de Sécurité

Ce laboratoire est conçu pour des tests sur localhost uniquement.

Exigences d'utilisation :

  • Utilisez-le uniquement dans votre propre environnement
  • Ne modifiez pas le PoC en webshell ou mécanisme de persistance
  • N'incluez pas de vrais jetons ou de vrais secrets dans le dépôt
  • Si un côté corrigé est ajouté à l'avenir, il doit utiliser uniquement un artefact corrigé officiel
Télécharger l’outil