
Proof-of-concept exploit and lab environment for CVE-2026-27495
Escape de sandbox no n8n JavaScript Task Runner via vazamento de objeto host-realm.
| CVE | CVE-2026-27495 |
| CVSS | 9.4 (Crítico) |
| CWE | CWE-94 — Injeção de Código |
| Affected | n8n < 1.123.22 / 2.0.0–2.9.2 / 2.10.0 |
| Fixed | 1.123.22 / 2.9.3 / 2.10.1 |
| Attack Surface | Nó de código (autenticado, Task Runners habilitados) |
docker compose up -d
Aguarde ~15s para o n8n iniciar, depois abra http://localhost:5678 e crie uma conta de proprietário (email: [email protected], senha: TestPassword123!).
pip install requests
Teste de escape de sandbox:
python3 exploit.py --probe
RCE — descomente NODE_FUNCTION_ALLOW_BUILTIN=* no docker-compose.yml, então reinicie:
docker compose down && docker compose up -d
python3 exploit.py --cmd "id && cat /etc/passwd"
Configuração inicial (cria conta de proprietário automaticamente):
python3 exploit.py --setup --probe
Options:
--url URL URL base do n8n (padrão: http://localhost:5678)
--email EMAIL Email de login (padrão: [email protected])
--password PASSWORD Senha de login
--cmd CMD Comando do SO para executar (RCE)
--setup Criar conta de proprietário (instância nova)
--probe Apenas testar escape de sandbox (sem RCE, funciona com qualquer configuração)
--proxy PROXY Proxy HTTP (ex.: http://127.0.0.1:8080)
Apenas para fins autorizados de pesquisa de segurança e educação.