O Bug Esquecido: Como uma Falha de Design no Core do Node.js Permite HTTP Request Splitting
Uma antiga falha TOCTOU em Node.js ClientRequest.path permite que atacantes ignorem a validação CRLF ao modificar o path após a construção, mas antes que _implicitHeader() serialize a linha de requisição. Isso possibilita injeção de cabeçalho, injeção de corpo e HTTP Request Splitting completo em bibliotecas proxy e de cliente HTTP populares, que juntas somam mais de 160 milhões de downloads semanais.
O rastreamento da correção original da CVE-2018-12116 aponta a lacuna de design restante, demonstra exploits práticos contra padrões comuns de proxy e compara bibliotecas vulneráveis com aquelas cujas arquiteturas naturalmente fecham essa janela. O Node.js considera isso fora do escopo de seu modelo de ameaças, transferindo a responsabilidade para autores de bibliotecas e desenvolvedores de aplicações, que são alertados a revalidar paths, evitar expor objetos ClientRequest brutos antes do flushing e auditar o código onde a entrada do usuário flui para req.path ou proxyReq.path durante essa janela crítica.
- Categoria
- CEVIU Segurança da Informação
- Publicado
- 03 de março de 2026
- Fonte
- CEVIU Segurança da Informação
