Plataforma
nodejs
Componente
ansi-regex
Corrigido em
5.0.1
6.0.1
A vulnerabilidade CVE-2021-3807 é uma falha de Ineficiência de Expressão Regular (ReDoS) encontrada na biblioteca ansi-regex para Node.js. Essa falha pode levar a uma negação de serviço (DoS) quando a biblioteca processa ANSI escape codes inválidos. Versões anteriores a 6.0.1 são afetadas. A atualização para a versão 6.0.1 resolve a vulnerabilidade.
Um atacante pode explorar essa vulnerabilidade enviando strings com ANSI escape codes malformados para um sistema que utiliza a biblioteca ansi-regex. A complexidade excessiva da expressão regular utilizada para analisar esses códigos pode levar a um consumo desproporcional de recursos da CPU, resultando em uma negação de serviço. O ataque demonstra-se ao injetar sequências longas de caracteres de escape ANSI, forçando a expressão regular a realizar um número excessivo de cálculos, travando o processo ou tornando-o indisponível. O impacto pode variar dependendo da carga do sistema e da quantidade de recursos disponíveis, mas em casos extremos, pode levar à indisponibilidade completa do serviço.
A vulnerabilidade foi divulgada publicamente em 20 de setembro de 2021. Um proof-of-concept (PoC) foi disponibilizado, demonstrando a exploração da falha. Não há informações disponíveis sobre exploração ativa em campanhas direcionadas, mas a facilidade de exploração e a ampla utilização da biblioteca ansi-regex a tornam um alvo potencial. A vulnerabilidade não está listada no KEV (CISA Known Exploited Vulnerabilities) até o momento.
Applications and services built on Node.js that utilize the ansi-regex package are at risk. This includes command-line tools, terminal emulators, logging utilities, and any application that processes ANSI escape codes. Specifically, projects using older versions of ansi-regex and those that do not perform input validation on ANSI escape code strings are particularly vulnerable.
• nodejs / server:
ps aux | grep ansi-regex | grep -v grep | awk '{print $2}' | xargs -n 1 pmap -x | grep -q 'ansi-regex.js'• nodejs / server:
journalctl -u node | grep -i "ansi-regex"• generic web:
Inspect Node.js application logs for unusually high CPU usage or errors related to ansi-regex parsing.
disclosure
poc
patch
Status do Exploit
EPSS
0.21% (percentil 44%)
Vetor CVSS
A mitigação primária para CVE-2021-3807 é atualizar a biblioteca ansi-regex para a versão 6.0.1 ou superior. Se a atualização imediata não for possível, considere implementar filtros de entrada para validar e sanitizar os ANSI escape codes antes de passá-los para a biblioteca. Implementar regras de WAF (Web Application Firewall) para bloquear requisições com padrões de escape ANSI suspeitos também pode ajudar. Monitore o uso da CPU e a latência do sistema para detectar possíveis ataques de negação de serviço. Após a atualização, confirme a correção executando testes com strings ANSI malformadas para verificar se a expressão regular não está mais consumindo recursos excessivos.
Atualize a dependência ansi-regex para a versão 6.0.1 ou superior. Isso resolverá a vulnerabilidade de complexidade ineficiente da expressão regular. Execute `npm install ansi-regex@latest` ou `yarn upgrade ansi-regex@latest` para atualizar.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2021-3807 is a denial-of-service vulnerability in the ansi-regex package for Node.js. Attackers can trigger excessive CPU usage by providing malicious ANSI escape codes.
You are affected if you are using a version of ansi-regex prior to 6.0.1 in your Node.js project.
Upgrade to version 6.0.1 or later of the ansi-regex package. Consider input validation as a temporary mitigation.
While there are no confirmed reports of active exploitation, the availability of a PoC increases the risk of opportunistic attacks.
Refer to the ansi-regex GitHub repository for updates and advisories: https://github.com/chalk/ansi-regex
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.