Plataforma
nodejs
Componente
mathjs
Corrigido em
3.17.0
Uma vulnerabilidade de execução remota de código (RCE) foi descoberta na biblioteca math.js, utilizada em aplicações Node.js. Essa falha permite que atacantes substituam propriedades privadas, como o construtor, utilizando caracteres Unicode ao criar objetos. A exploração bem-sucedida pode levar à execução de código arbitrário no sistema. A vulnerabilidade afeta versões anteriores à 3.17.0 e foi publicada em 18 de dezembro de 2017. A correção está disponível na versão 3.17.0.
A vulnerabilidade em math.js representa um risco significativo, pois permite a execução de código arbitrário no servidor. Um atacante pode explorar essa falha para obter controle total sobre o sistema, roubar dados confidenciais, instalar malware ou realizar outras ações maliciosas. A substituição de propriedades privadas através de caracteres Unicode contorna as proteções de segurança da biblioteca, abrindo caminho para a injeção de código. Dada a popularidade da biblioteca math.js em diversas aplicações Node.js, o impacto potencial é amplo e pode afetar uma grande variedade de sistemas.
A vulnerabilidade CVE-2017-1001003 foi divulgada publicamente em 18 de dezembro de 2017. Não há evidências de exploração ativa em campanhas direcionadas, mas a facilidade de exploração e a disponibilidade de informações sobre a vulnerabilidade aumentam o risco de ataques oportunistas. A ausência de um registro no KEV (CISA Known Exploited Vulnerabilities) não diminui a importância de aplicar a correção.
Applications built on Node.js that utilize math.js for numerical computations or data processing are at risk. This includes web applications, command-line tools, and server-side scripts. Specifically, applications that accept user-provided data and pass it directly to math.js functions without proper sanitization are particularly vulnerable. Developers using older versions of math.js in production environments should prioritize upgrading to the patched version.
• nodejs / server:
npm list math.jsThis command checks for installed versions of math.js. If the version is less than 3.17.0, the system is vulnerable. • nodejs / server:
grep -r 'Object.prototype.' /path/to/your/appSearch for code that directly modifies Object.prototype. This may indicate attempts to exploit prototype pollution.
• generic web:
Inspect application logs for unusual errors or warnings related to object property access or modification. Unexpected behavior in data processing functions could be a sign of exploitation.
disclosure
patch
Status do Exploit
EPSS
0.49% (percentil 65%)
Vetor CVSS
A mitigação primária para esta vulnerabilidade é a atualização para a versão 3.17.0 ou superior do math.js. Se a atualização imediata não for possível devido a problemas de compatibilidade, considere implementar medidas de segurança adicionais, como a validação rigorosa de todas as entradas de dados antes de passá-las para a biblioteca math.js. Implementar firewalls de aplicação web (WAF) com regras para detectar e bloquear tentativas de injeção de código Unicode também pode ajudar a mitigar o risco. Monitore logs de aplicação em busca de padrões suspeitos relacionados à manipulação de objetos math.js.
Nenhum patch oficial disponível. Procure alternativas ou monitore atualizações.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
É uma vulnerabilidade de execução remota de código (RCE) na biblioteca math.js, que permite a substituição de propriedades privadas e a execução de código malicioso em aplicações Node.js.
Sim, se você estiver utilizando math.js em versões anteriores à 3.17.0, você está vulnerável a esta falha.
Atualize para a versão 3.17.0 ou superior do math.js. Se a atualização não for possível, implemente medidas de segurança adicionais, como validação de entrada.
Embora não haja evidências de exploração ativa em campanhas direcionadas, o risco de ataques oportunistas é alto devido à facilidade de exploração.
Consulte o repositório do math.js no GitHub para obter informações e atualizações sobre a vulnerabilidade: [https://github.com/mathjs/mathjs](https://github.com/mathjs/mathjs)
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.