Plataforma
nodejs
Componente
uglify-js
Corrigido em
2.6.0
A vulnerabilidade CVE-2015-8858 é uma falha de negação de serviço (DoS) presente em versões do uglify-js anteriores à 2.6.0. Essa falha ocorre quando entradas maliciosas são passadas para a função parse(), levando a um consumo excessivo de recursos e potencial interrupção do serviço. Aplicações Node.js que utilizam versões vulneráveis do uglify-js são afetadas. A correção está disponível na versão 2.6.0.
Um atacante pode explorar essa vulnerabilidade enviando entradas especialmente criadas para a função parse() do uglify-js. Essas entradas, construídas com strings longas e repetitivas, podem sobrecarregar o processador e a memória do sistema, resultando em uma negação de serviço. Isso pode levar à indisponibilidade da aplicação, impedindo que usuários legítimos acessem seus recursos. O impacto é particularmente grave em ambientes de produção, onde a interrupção do serviço pode ter consequências financeiras e de reputação significativas. A demonstração de conceito (PoC) fornecida no CVE demonstra como a vulnerabilidade pode ser explorada, gerando tempos de execução significativamente maiores com entradas maiores.
A vulnerabilidade CVE-2015-8858 foi divulgada em 2015, mas a correção foi publicada em 2015. Um PoC público está disponível, demonstrando a facilidade de exploração. Não há evidências de exploração ativa em campanhas direcionadas, mas a natureza simples da exploração a torna um alvo potencial para ataques automatizados. A data de publicação do CVE foi 2017-10-24.
Node.js developers and DevOps teams using uglify-js in their projects are at risk. Specifically, projects using older versions of uglify-js (prior to 2.6.0) and those that do not have robust input validation mechanisms are particularly vulnerable. Applications that rely on uglify-js for minifying JavaScript code in production environments are also at increased risk.
• nodejs / server:
ps aux | grep uglify-js | grep -v grep | awk '{print $2}' | xargs -n 1 pmap -x | grep -q 'regex' # Check for excessive regex usage• nodejs / server:
journalctl -u nodejs | grep -i 'uglify-js' | grep -i 'error' # Look for errors related to uglify-js• generic web:
Inspect Node.js application logs for unusual CPU spikes or memory usage correlated with uglify-js processing.
discovery
disclosure
patch
Status do Exploit
EPSS
0.90% (percentil 76%)
Vetor CVSS
A mitigação primária para a vulnerabilidade CVE-2015-8858 é atualizar para a versão 2.6.0 ou superior do uglify-js. Essa versão inclui uma correção para a falha de regular expression que causa a negação de serviço. Se a atualização imediata não for possível, considere implementar medidas de proteção adicionais, como a validação e sanitização rigorosa de todas as entradas fornecidas à função parse(). Embora não seja uma solução completa, limitar o tamanho e a complexidade das entradas pode reduzir o risco de exploração. Monitore o uso de recursos do sistema para detectar anomalias que possam indicar uma tentativa de ataque DoS.
Nenhum patch oficial disponível. Procure alternativas ou monitore atualizações.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2015-8858 is a Denial of Service vulnerability in the uglify-js Node.js package, allowing attackers to cause performance degradation by exploiting a flawed regular expression in the parse() method.
You are affected if you are using a version of uglify-js prior to 2.6.0. Check your project dependencies and update if necessary.
Upgrade to version 2.6.0 or later of uglify-js. Consider implementing input validation as an additional precaution.
While no active exploitation campaigns have been publicly reported, the availability of a proof-of-concept makes it potentially exploitable.
Refer to the official npm advisory and the CVE record for more details: https://nvd.nist.gov/vuln/detail/CVE-2015-8858
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.