
Prova de conceito de exploit para CVE-2026-21440, uma vulnerabilidade crítica de path traversal em uploads multipart do AdonisJS que permite escrita arbitrária de arquivos e execução remota de código.
CVE-2026-21440 é uma vulnerabilidade crítica de path traversal que afeta o framework AdonisJS, especificamente o seu tratamento de upload de arquivos multipart.
⚠️ Se explorada, atacantes podem gravar arquivos em qualquer lugar do servidor, potencialmente levando à execução remota de código (RCE).
| Campo | Valor |
|---|
| ID do CVE | CVE-2026-21440 |
| Severidade | 🔴 Crítica |
| CVSS v4.0 | 9.2 |
| CWE | CWE-22 (Path Traversal) |
| Vetor de Ataque | Rede |
| Autenticação Necessária | ❌ Não |
O AdonisJS confia indevidamente em nomes de arquivo fornecidos pelo usuário durante uploads de arquivos multipart.
Quando os desenvolvedores chamam:
MultipartFile.move()
sem sanitização rigorosa, atacantes podem enviar nomes de arquivo como:
../../../../app/config/startup.js
Isso permite que eles escapem do diretório de upload pretendido e gravem arquivos em locais arbitrários no servidor.
Um atacante pode potencialmente:
Isso torna a vulnerabilidade especialmente perigosa para endpoints públicos de upload de arquivos.
@adonisjs/bodyparser ≤ 10.1.111.x anteriores a 11.0.0-next.6➡️ Atualize para uma versão corrigida o mais rápido possível.
Se a atualização ainda não for possível:
../, caminhos absolutos, bytes nulos)MultipartFile.move()Instale a dependência
pip install requests
Salve o script
Copie o código Python completo e salve como cve_2026_21440_poc.py
Encontre o endpoint de upload
Identifique a URL de upload de arquivos multipart do alvo (ex.: /upload, /api/files). Teste com navegador ou curl.
Execute primeiro um teste seguro
python3 cve_2026_21440_poc.py http://target:port/upload --safe --random
Verifique o sucesso
Se vulnerável, tente o shell (opcional)
python3 cve_2026_21440_poc.py http://target:port/upload --shell php --depth 5
Verifique o shell
Acesse o arquivo enviado (ex.: http://target/shell.php?cmd=whoami) para ver a saída do comando.
Use apenas em alvos autorizados! Comece com --safe.

╔══════════════════════════════════════════════════════════════╗
║ ⚠️ AVISO LEGAL ⚠️ ║
╚══════════════════════════════════════════════════════════════╝
Este script de Prova de Conceito do CVE-2026-21440 é fornecido EXCLUSIVAMENTE para fins educacionais, de pesquisa e de testes de segurança autorizados.
❌ Você PODE usá-lo em: • Sistemas que você possui • Sistemas para os quais você tem permissão explícita por escrito para testar
❌ Você NÃO PODE usá-lo para: • Acesso não autorizado a qualquer sistema • Atividades ilegais de qualquer tipo • Propósitos maliciosos
O autor e o distribuidor NÃO assumem NENHUMA responsabilidade por: • Uso indevido desta ferramenta • Danos causados a sistemas • Consequências legais decorrentes de uso não autorizado
Usar este script contra sistemas sem permissão viola leis na maioria dos países (ex.: CFAA nos EUA, Computer Misuse Act no Reino Unido).
Ao usar esta ferramenta, você concorda em: • Assumir total responsabilidade por suas ações • Cumprir todas as leis aplicáveis
Seja ético. Teste com responsabilidade. Reporte vulnerabilidades aos fornecedores.
✦ Hackeie o planeta — mas legalmente ✦