Plataforma
nodejs
Componente
loader-utils
Corrigido em
2.5.4
CVE-2022-37603 descreve uma vulnerabilidade de negação de serviço (DoS) encontrada na função interpolateName em interpolateName.js no webpack loader-utils. Uma string mal formada pode ser usada para enviar solicitações que travam o sistema ou consomem tempo excessivo. A falha afeta versões anteriores à 1.4.2. A vulnerabilidade foi corrigida nas versões 1.4.2, 2.0.4 e 3.2.1.
A CVE-2022-37603 afeta a biblioteca loader-utils do webpack, especificamente a função interpolateName em interpolateName.js. Esta vulnerabilidade é um ataque de negação de serviço por expressão regular (ReDoS). Um atacante pode enviar solicitações cuidadosamente elaboradas contendo strings maliciosas através da variável url. Essas strings, ao serem processadas pela expressão regular, podem consumir uma quantidade desproporcional de recursos do sistema, levando a uma falha ou lentidão significativa. O risco é particularmente alto em ambientes onde o webpack é usado para construir aplicações web complexas, pois um ataque bem-sucedido pode interromper o processo de compilação e afetar a disponibilidade do serviço. A severidade do CVSS é 7.5, indicando um risco alto.
A vulnerabilidade é explorada injetando strings maliciosas na variável url usada pela função interpolateName. Essas strings são projetadas para acionar um comportamento excessivo da expressão regular, levando a um ReDoS. O atacante precisa ter a capacidade de controlar ou influenciar o valor da variável url. Isso pode ocorrer, por exemplo, através de parâmetros de consulta em uma URL, dados enviados por um formulário ou até mesmo através da manipulação de arquivos de configuração. A complexidade do ataque depende da capacidade do atacante de criar uma string que maximize o tempo de processamento da expressão regular.
Status do Exploit
EPSS
1.26% (percentil 79%)
Vetor CVSS
A solução mais eficaz é atualizar a biblioteca loader-utils para uma versão corrigida. As versões 1.4.2, 2.0.4 e 3.2.1 incluem a correção para esta vulnerabilidade. Recomendamos fortemente atualizar para a versão mais recente disponível. Se uma atualização não for imediatamente possível, medidas de mitigação temporárias podem ser implementadas, como validar e higienizar a entrada da variável url antes de passá-la para a função interpolateName. No entanto, essas medidas são menos seguras do que uma atualização completa e devem ser consideradas apenas como uma solução alternativa temporária. Monitorar o desempenho do sistema e os logs de erros pode ajudar a detectar possíveis ataques ReDoS.
Actualice el paquete loader-utils a la versión 2.5.4 o superior para mitigar la vulnerabilidad de denegación de servicio por expresión regular (ReDoS). Esto se puede hacer utilizando un gestor de paquetes como npm o yarn.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
Um ataque ReDoS (Regular Expression Denial of Service) explora a forma como as expressões regulares processam certas entradas, consumindo recursos excessivos e causando uma negação de serviço.
Se você estiver usando uma versão de loader-utils anterior a 1.4.2, 2.0.4 ou 3.2.1, provavelmente estará afetado. Revise as dependências do seu projeto webpack.
Como medida temporária, você pode validar e limpar a entrada da variável url antes de usá-la em interpolateName, mas isso não é uma solução completa.
Existem ferramentas de análise estática que podem ajudar a identificar possíveis vulnerabilidades ReDoS em expressões regulares, mas sua eficácia pode variar.
Você pode consultar o relatório de vulnerabilidade em bancos de dados de segurança como o CVE (Common Vulnerabilities and Exposures) e a documentação do webpack e loader-utils.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.