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-5029-Exploit | Kitploit
Outils/GitHubGitHub/0x00phantom-hat/cve-2026-5029-exploit
Scanners de VulnérabilitésAnalyse de CodeExploitationSécurité WebTests d'IntrusionApprentissage et Éducation
GitHub0x00phantom-hat/cve-2026-5029-exploit

CVE-2026-5029-Exploit

Voir le dépôt
il y a 1 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-5029 — RCE sur Code Runner MCP Server

Exécution de code à distance non authentifiée via l'outil MCP run-code

CVE CVSS Python Status License

Preuve de concept de l'exploit pour CVE-2026-5029 — une vulnérabilité critique d'exécution de code à distance non authentifiée dans Code Runner MCP Server, déclenchée via l'outil MCP run-code lorsque le serveur est lancé avec --transport http.


📋 Présentation de la vulnérabilité


🧠 Description technique

Code Runner MCP Server expose un point de terminaison JSON-RPC /mcp sur le port 3088 lorsqu'il est lancé avec l'option --transport http. Ce point de terminaison est accessible sans aucune authentification — pas de clé API, pas de jeton de session, pas de vérification de l'origine.

Tout attaquant distant non authentifié capable d'atteindre le port peut invoquer directement l'outil MCP run-code, qui accepte du code source arbitraire et un identifiant de langage, l'écrit dans un fichier temporaire, puis l'exécute via child_process.exec() en utilisant l'interpréteur correspondant (bash, python, powershell, et plus de 30 autres).

Étant donné qu'aucune assainissement n'est appliqué au paramètre code à aucun moment, cela aboutit à une exécution de code à distance non authentifiée complète avec les privilèges du processus exécutant le serveur MCP.

Étude de cas

https://medium.com/@phantom_hat/cve-2026-5029-unpatched-case-study-unauthenticated-remote-code-execution-rce-66c7706f2320

Flux d'attaque

root@kitploit:~
┌──────────┐   JSON-RPC tools/call    ┌───────────────────────┐   exec()   ┌──────────┐
│ Attacker │ ──── run-code tool ─────▶│  /mcp  (port 3088)    │ ─────────▶ │   RCE    │
│          │    (no auth needed)      │  Code Runner MCP      │            │  on Host │
└──────────┘                          └───────────────────────┘            └──────────┘
  1. Reconnaissance — Se connecter au point de terminaison /mcp exposé et énumérer les outils MCP disponibles
  2. Découverte du schéma — Récupérer le schéma d'entrée de l'outil run-code (code, languageId)
  3. Envoi de l'exploit — Envoyer une requête JSON-RPC tools/call forgée avec un code contrôlé par l'attaquant
  4. Exécution de commande — Le serveur écrit code dans un fichier temporaire et l'exécute via l'interpréteur sélectionné

🗂️ Structure du dépôt

root@kitploit:~
.
├── exploit.py           # 🎯 Interactive RCE exploit shell (Rich-based terminal UI)
└── README.md            # 📖 You are here

exploit.py — Exploit interactif

Le script d'exploitation principal, conçu pour un usage professionnel lors d'audits de sécurité et d'études de cas. Il se connecte au serveur MCP cible et ouvre un shell interactif dans lequel chaque commande est exécutée en direct via l'outil vulnérable run-code.

Fonctionnalités incluses :

  • Sortie terminal propre et structurée grâce à Rich
  • Shell d'exploitation interactif — saisissez des commandes, obtenez la sortie, allez et venez, sans relancer le script
  • Énumération des langages — liste tous les langages que le serveur MCP annonce prendre en charge
  • Détection des langages installés — vérifie quels interpréteurs existent réellement sur la machine cible
  • Langage d'exécution sélectionnable via -l (par défaut shellscript)
  • Mode verbeux pour une sortie opérationnelle détaillée

⚙️ Installation

Prérequis

  • Python 3.8+
  • Gestionnaire de paquets pip

Mise en place

root@kitploit:~
# Clone the repository
git clone https://github.com/0x00phantom-hat/CVE-2026-5029-Exploit.git
cd CVE-2026-5029-RCE-Exploit

# Install dependencies
pip install fastmcp rich

🚀 Utilisation

root@kitploit:~
# Drop into an interactive RCE shell (default: shellscript)
python3 exploit.py -u http://TARGET:3088/mcp

# Use a specific language interpreter
python3 exploit.py -u http://TARGET:3088/mcp -l python

# List all languages the MCP server advertises support for
python3 exploit.py -u http://TARGET:3088/mcp --available

# Probe which language runtimes are actually installed on the target
python3 exploit.py -u http://TARGET:3088/mcp --installed -v

# Show the help menu
python3 exploit.py -h

Une fois connecté, l'exploit ouvre une invite interactive :

root@kitploit:~
PhantomHat-MCP@Exploit-CVE-2026-5029 $ id

Tapez exit pour fermer la session.

Options de la ligne de commande


📸 Phases de l'exploit


🔗 Références

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-5029
  • Avis CERT.PL: https://cert.pl/en/posts/2026/05/CVE-2026-5029
  • Projet vulnérable: https://github.com/formulahendry/mcp-server-code-runner
  • Point de chute vulnérable (server.ts): https://github.com/formulahendry/mcp-server-code-runner/blob/main/src/server.ts

🛡️ Remédiation

  • Ne lancez pas --transport http sur une interface accessible depuis le réseau — utilisez le transport stdio par défaut
  • Si le transport HTTP est requis, liez-le strictement à 127.0.0.1 et placez-le derrière un proxy inverse authentifié ou un VPN
  • Bloquez le port 3088 par pare-feu au niveau de l'hôte ou du réseau
  • Exécutez le serveur avec un utilisateur à privilèges limités dans un bac à sable, ou dans un conteneur verrouillé
  • Surveillez les invocations inattendues de run-code et les processus enfants inhabituels

⚠️ Avertissement

Cet outil est fourni à des fins de tests de sécurité autorisés et de formation uniquement.

L'accès non autorisé à des systèmes informatiques est illégal en vertu de lois telles que le Computer Fraud and Abuse Act (CFAA), le Computer Misuse Act, et des législations similaires dans le monde entier. L'auteur décline toute responsabilité en cas d'utilisation abusive de ce logiciel.

N'utilisez cet outil que contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de tester.


Auteur : Phantom Hat

Pour tests d'intrusion autorisés et recherche en sécurité uniquement.

Télécharger l’outil
PropriétéDétail
Identifiant CVECVE-2026-5029
Score CVSS8,7 / 10 — Élevé
CWECWE-306 — Absence d'authentification pour une fonction critique
Produit concernéCode Runner MCP Server
Versions concernées(Non corrigé) Toutes les versions exposant l'outil run-code via --transport http
AuthentificationAucune requise (non authentifiée)
État du correctifNon corrigé
Découvert parPhantom Hat
OptionDescriptionDéfaut
-u, --url(Requis) URL du serveur MCP—
-l, --languageLangage à utiliser pour l'exécution du codeshellscript
-a, --availableListe tous les langages pris en chargeoption
-i, --installedDétecte les interpréteurs installés sur la cibleoption
-v, --verboseMode de sortie verbeuxoption
-h, --helpAffiche le menu d'aide—
PhaseNomDescription
1🔍 ÉnumérationSe connecter à /mcp et énumérer les outils MCP disponibles
2🧪 Découverte du schémaConfirmer le schéma d'entrée de run-code (code, languageId)
3💣 Envoi de l'exploitEnvoyer une requête tools/call forgée avec un code contrôlé par l'attaquant
4🚀 Exécution interactiveObtenir un shell en direct — chaque commande s'exécute sur la machine cible