Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-24055-OAuth-Langfuse | Kitploit
Outils/GitHubGitHub/imzanggg/cve-2026-24055-oauth-langfuse
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests de Sécurité des APIApprentissage et ÉducationLabs et Pratique
GitHubimzanggg/cve-2026-24055-oauth-langfuse

CVE-2026-24055-OAuth-Langfuse

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-24055 — Installation Slack OAuth non authentifiée dans Langfuse

Projet du cours Sécurité Web et Applications — Groupe 06, classe NT213.Q21.ANTT

📌 Résumé

Le projet reproduit une vulnérabilité de sécurité réelle publiée (CVE-2026-24055) sur la plateforme Langfuse — un endpoint OAuth permettant à un attaquant de s'emparer de la connexion d'un workspace Slack à le projet d'autrui sans avoir besoin de se connecter.

Le projet comprend : la mise en place d'un environnement Docker simulant à la fois la version vulnérable et la version corrigée, l'exécution de l'exploitation étape par étape, et la vérification que le correctif fonctionne correctement. Cela permet de pratiquer l'analyse d'une vulnérabilité de contrôle d'accès dans un flux OAuth, une compétence directement applicable lors de la construction ou de l'audit de systèmes d'authentification web.

Compétences démontrées : analyse de flux OAuth2, Docker, lecture d'avis de sécurité, rédaction de rapports techniques, tests de sécurité (security testing).


Table des matières

  • Description de la vulnérabilité
  • Configuration requise
  • Préparation avant exécution
  • Démo d'exploitation — Vulnerable v3.146.0
  • Vérification du correctif — Patched v3.147.0
  • Arrêt de l'environnement
  • Références

Description de la vulnérabilité

CVE-2026-24055 est une vulnérabilité de contrôle d'accès inapproprié dans Langfuse des versions 3.89.0 à 3.146.0.

L'endpoint /api/public/slack/install ne requiert pas d'authentification, permettant à un attaquant de lier son workspace Slack à n'importe quel projet en connaissant simplement le projectId. Lorsque la victime crée une automatisation envoyant des notifications vers Slack, tout le contenu du prompt est divulgué vers le workspace de l'attaquant.

AttributDétail
CWECWE-284 — Contrôle d'accès inapproprié
Versions affectéesLangfuse 3.89.0 – 3.146.0
Version corrigéeLangfuse 3.147.0
GitHub AdvisoryGHSA-pvq7-vvfj-p98x
NVDCVE-2026-24055

Flux d'attaque

Sequence Diagram


Configuration requise

OutilVersion minimale
Docker Desktop24.0+
Docker Composev2
Gitn'importe quelle
RAM8 GB

Préparation avant exécution

Créer une Slack App

L'API Slack permet d'utiliser http://localhost:3000 comme Redirect URL.

  1. Aller sur https://api.slack.com/apps → Create New App → From scratch
  2. Nommer l'app, choisir le workspace
  3. Aller dans OAuth & Permissions → Redirect URLs → ajouter :
    http://localhost:3000
    
  4. Sauvegarder le Client ID et le Client Secret

Démo d'exploitation — Vulnerable v3.146

Étape 1 — Configuration de l'environnement

cd vulnerable
cp .env.example .env

Ouvrir le fichier .env, renseigner les valeurs suivantes :

NEXTAUTH_URL=http://localhost:3000
SLACK_CLIENT_ID=<your-slack-client-id>
SLACK_CLIENT_SECRET=<your-slack-client-secret>
SLACK_STATE_SECRET=any-random-string

Étape 2 — Démarrer Langfuse v3.146.0

docker compose up -d

Vérifier que les conteneurs sont prêts :

docker compose ps

Attendre environ 30–60 secondes. Tous les conteneurs doivent être à l'état Up (healthy).

Étape 3 — Créer les comptes

Accéder à http://localhost:3000 :

  1. Compte Victime

    • S'inscrire, créer une Organization → créer un Project
    • Aller dans Settings → noter le Project ID
  2. Compte Attaquant

    • Ouvrir un onglet de navigation privée, créer un autre compte (ou ne pas se connecter)

Étape 4 — Exécuter l'exploitation

Sur le navigateur de l'attaquant (sans se connecter à Langfuse), accéder à :

http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>

Déroulement :

  • Le serveur ne vérifie pas l'authentification, redirige directement vers Slack OAuth
  • Se connecter au workspace Slack de l'attaquant → cliquer sur Allow
  • Le workspace de l'attaquant est désormais lié au projet de la victime

Étape 5 — Confirmer la fuite de données

Se connecter avec le compte victime :

  1. Aller dans Settings → Integrations → vérifier que Slack est connecté (workspace de l'attaquant)
  2. Créer une Automation : Prompts → Automations → New
    • Trigger : Prompt created / updated / deleted
    • Action : Slack → choisir le channel
  3. La victime crée un nouveau prompt
  4. Le Slack de l'attaquant reçoit une notification contenant les métadonnées du prompt (nom, version, labels, tags)

Vérification du correctif — Patched v3.147

Étape 1 — Arrêter l'ancien environnement

cd ../vulnerable
docker compose down

Étape 2 — Démarrer Langfuse v3.147.0

cd ../patched
cp .env.example .env
# Renseigner les mêmes valeurs que dans la partie vulnerable
docker compose up -d

Étape 3 — Relancer l'exploitation

Essayer sans se connecter :

http://localhost:3000/api/public/slack/install?projectId=<any-project-id>

Résultat attendu — HTTP 401 :

{ "error": "Authentication required" }

Essayer en se connectant en tant qu'attaquant, avec le projectId de la victime :

http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>

Résultat attendu — HTTP 403 :

{ "error": "You do not have permission to configure Slack for this project" }

La vulnérabilité est entièrement corrigée.


Arrêt de l'environnement

docker compose down

Pour supprimer toutes les données (volumes) :

docker compose down -v

Structure des répertoires

cve-2026-24055/
├── README.md                  ← ce fichier
├── vulnerable/
│   ├── docker-compose.yml     ← Langfuse v3.146.0 (vulnérable)
│   └── .env.example
└── patched/
    ├── docker-compose.yml     ← Langfuse v3.147.0 (corrigé)
    └── .env.example

Références

  • GitHub Security Advisory — GHSA-pvq7-vvfj-p98x
  • NVD — CVE-2026-24055
  • Commit fix — 3adc89e
Télécharger l’outil