Unknown · Express.Js · CVE-2024-29041
Nome do software vulnerável e versões afetadas:
Versões do Express.js anteriores à 4.19.0
Versões alfa e beta pré-lançamento do Express.js 5.0 anteriores à 5.0.0-beta.3
Descrição:
O problema está relacionado a uma vulnerabilidade de redirecionamento aberto que utiliza URLs malformadas. Quando o Express realiza um redirecionamento usando uma URL fornecida pelo usuário, ele codifica o conteúdo usando `encodeurl` antes de passá-lo para o cabeçalho `location`. Isso pode fazer com que URLs malformadas sejam avaliadas de maneiras inesperadas por implementações comuns de listas de permissão de redirecionamento em aplicativos Express, levando a um redirecionamento aberto por meio do contorno de uma lista de permissão implementada corretamente. O principal método afetado é `res.location()`, mas ele também é chamado de dentro de `res.redirect()`.
Recomendações:
Para versões do Express.js anteriores à 4.19.0, atualize para a versão 4.19.2 ou posterior.
Para versões alfa e beta pré-lançamento do Express.js 5.0, atualize para a versão 5.0.0-beta.3 ou posterior.
Como solução temporária, considere pré-analisar a string da URL com `require(‘node:url’).parse` ou `new URL` antes de passar a string de entrada do usuário para `res.location` ou `res.redirect`.