Plataforma
nodejs
Componente
is
Corrigido em
0.9.1
CVE-2020-26302 é uma vulnerabilidade de negação de serviço (DoS) presente na biblioteca is.js. A exploração ocorre através de Regular Expression Denial of Service (ReDoS), causada por uma regex ineficiente usada para validar URLs. A tentativa de validar strings maliciosas pode levar a um loop infinito. Afeta versões is.js ≤0.9.0. A vulnerabilidade foi corrigida na versão 0.9.1.
A vulnerabilidade CVE-2020-26302 afeta a biblioteca is.js, uma ferramenta de verificação de uso geral. As versões 0.9.0 e anteriores contêm vulnerabilidades de Negação de Serviço por Expressão Regular (ReDoS) devido a uma expressão regular ineficiente utilizada para validar URLs. Essa expressão regular, copiada de um gist, pode entrar em um loop infinito ao processar strings maliciosas, levando a um consumo excessivo de recursos do servidor e, potencialmente, interrupção do serviço. A gravidade da vulnerabilidade é classificada como 7.5 na escala CVSS, indicando um risco moderadamente alto. A ausência de uma correção oficial da is.js agrava a situação, exigindo estratégias de mitigação alternativas.
A exploração de CVE-2020-26302 envolve o envio de uma URL especialmente elaborada para uma aplicação que utiliza is.js. Esta URL contém uma string que dispara o loop infinito na expressão regular de validação de URL. O atacante não precisa de autenticação para explorar esta vulnerabilidade, pois ela afeta a lógica de validação da biblioteca. O impacto pode variar desde a degradação do desempenho do servidor até a interrupção completa do serviço, dependendo da carga do servidor e da complexidade da string maliciosa. A vulnerabilidade é particularmente preocupante em aplicações web que processam grandes volumes de URLs de fontes externas.
Applications built using is.js, particularly those that handle user-supplied URLs without proper validation, are at risk. Node.js projects relying on this library are especially vulnerable. Shared hosting environments where multiple applications share the same server resources could experience broader impact from a successful attack.
• nodejs: Monitor CPU usage spikes when validating URLs. Use ps or top to identify processes consuming excessive CPU.
ps aux | grep is.js• generic web: Examine access logs for unusual patterns of URL requests. Look for URLs containing complex or unusual characters.
grep 'complex_url_pattern' /var/log/apache2/access.logdiscovery
disclosure
Status do Exploit
EPSS
0.27% (percentil 51%)
Vetor CVSS
Como não existe uma correção oficial da is.js para CVE-2020-26302, a principal mitigação envolve atualizar para uma versão anterior a 0.9.1 ou remover o uso de is.js completamente, se viável. Se a atualização não for possível, é recomendável implementar um filtro de entrada robusto para validar as URLs antes de passá-las para is.js. Este filtro deve rejeitar qualquer URL que contenha padrões suspeitos ou caracteres incomuns. Além disso, limitar o tempo de execução da expressão regular pode ajudar a prevenir ataques ReDoS, embora isso possa afetar a funcionalidade da biblioteca. Monitorar o uso de CPU e memória do servidor é crucial para detectar possíveis ataques ReDoS.
Este paquete contiene una vulnerabilidad ReDoS. No existe una versión corregida. Se recomienda evaluar alternativas a la librería is.js o implementar validaciones adicionales para las URLs antes de usar la función vulnerable.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
ReDoS (Regular Expression Denial of Service) é um tipo de ataque que explora a ineficiência de expressões regulares para causar uma negação de serviço.
Esta vulnerabilidade pode permitir que um atacante interrompa o serviço de uma aplicação web, fazendo com que ela consuma recursos excessivos.
Não, is.js não lançou uma correção oficial para esta vulnerabilidade.
Implemente um filtro de entrada robusto para validar as URLs antes de passá-las para is.js e limite o tempo de execução da expressão regular.
Monitore o uso de CPU e memória do servidor. Um aumento repentino e sustentado pode indicar um ataque ReDoS.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.