Uma vulnerabilidade crítica de path traversal no AdonisJS pode permitir que invasores remotos gravem arquivos arbitrários no sistema de arquivos do servidor, abrindo caminho para comprometimento completo da aplicação e, em alguns cenários, para execução remota de código. A falha, rastreada como CVE-2026-21440, afeta o módulo de bodyparser do framework (pacote @adonisjs/bodyparser) e recebeu classificação crítica no CVSS v4.
A vulnerabilidade e versões afetadas
De acordo com o advisory de segurança publicado no GitHub, o problema está no mecanismo de tratamento de uploads multipart/form-data do @adonisjs/bodyparser, mais especificamente no método MultipartFile.move(). Em versões vulneráveis, a API usa opções padrão inseguras e não sanitiza adequadamente nomes de arquivos fornecidos pelo cliente, permitindo que sequências de path traversal (como ../) escapem do diretório de upload previsto.
A vulnerabilidade afeta versões do @adonisjs/bodyparser até 10.1.1 e as pré‑releases 11.0.0‑next.5 e anteriores, sendo classificada como CWE‑22 (Path Traversal) com vetor CVSS v4 AV:N/AC:L/AT:P/PR:N/UI:N, o que indica exploração remota, baixa complexidade e ausência de necessidade de privilégios ou interação do usuário. Em configurações padrão, a API também permite sobrescrever arquivos existentes, amplificando o impacto.
Como a exploração é realizada
Para explorar a falha, o atacante precisa apenas de acesso a um endpoint de upload exposto que utilize MultipartFile.move() sem sanitização explícita de nomes de arquivo. Ao enviar um upload multipart com um filename especialmente construído contendo sequências como ../../, o invasor pode escapar do diretório de uploads e gravar o arquivo em locais arbitrários do sistema de arquivos, respeitando apenas as permissões do processo que roda a aplicação.
Se o invasor conseguir sobrescrever código da aplicação, scripts de inicialização ou arquivos de configuração interpretados pelo runtime (por exemplo, arquivos carregados em tempo de execução, scripts de startup ou configs consumidas por processos privilegiados), o cenário evolui para potencial execução remota de código. Em ambientes de produção com permissões frouxas de escrita, isso pode significar takeover completo da aplicação ou até do host.
Patches disponíveis e recomendações
A vulnerabilidade foi descoberta e reportada pelo pesquisador Wodzen, que submeteu o problema via advisories de segurança no repositório oficial do AdonisJS. Em resposta, o projeto liberou correções para as principais linhas do framework: desenvolvedores devem atualizar o pacote @adonisjs/bodyparser para a versão 10.1.2 ou para a pré‑release 11.0.0‑next.6, que ajustam o comportamento padrão de MultipartFile.move() e endurecem o tratamento de nomes de arquivos.
Além da atualização, recomenda‑se que equipes de desenvolvimento auditem todos os endpoints de upload que fazem uso de MultipartFile.move() e passem a implementar sanitização explícita de nomes de arquivo, rejeitando qualquer uso de caminhos relativos, barras, sequências de .. ou caracteres especiais que permitam escapulir do diretório designado. Organizações também devem revisar permissões de escrita da aplicação no filesystem, restringindo o escopo de diretórios onde a aplicação pode criar ou modificar arquivos para limitar o impacto de futuras vulnerabilidades semelhantes.






