Plataforma
nodejs
Componente
jszip
Corrigido em
3.7.0
3.7.0
A vulnerabilidade CVE-2021-23413 afeta a biblioteca jszip, especificamente versões anteriores à 3.7.0. Essa falha de Prototype Pollution permite que atacantes manipulem o protótipo de objetos JavaScript ao criar arquivos ZIP com nomes de arquivos que exploram propriedades do protótipo, como 'proto' ou 'toString'. A exploração bem-sucedida pode levar a comportamentos inesperados e potenciais problemas de segurança na aplicação que utiliza jszip.
A principal consequência desta vulnerabilidade é a possibilidade de um atacante modificar o protótipo de objetos JavaScript dentro da aplicação que utiliza jszip. Isso pode levar a uma ampla gama de impactos, incluindo a alteração do comportamento de funções existentes, a injeção de código malicioso e a evasão de controles de segurança. Um atacante poderia, por exemplo, adicionar propriedades ao protótipo do objeto 'Object', afetando todas as instâncias de objetos em sua aplicação. Embora a exploração direta possa ser complexa, a capacidade de manipular o protótipo abre portas para ataques mais sofisticados e difíceis de detectar. A severidade da vulnerabilidade reside na sua capacidade de comprometer a integridade da aplicação e potencialmente permitir a execução de código arbitrário.
A vulnerabilidade CVE-2021-23413 foi divulgada em 10 de agosto de 2021. Embora não haja relatos públicos de exploração ativa em larga escala, a natureza da vulnerabilidade de Prototype Pollution a torna um alvo potencial para atacantes. A existência de um Proof of Concept (PoC) público aumenta o risco de exploração. A vulnerabilidade não está listada no KEV (Know Exploited Vulnerabilities) da CISA no momento da redação, mas a probabilidade de exploração é considerada média devido à sua facilidade de exploração e ao impacto potencial.
Node.js applications that utilize the jszip library for zip file handling are at risk. This includes web applications, command-line tools, and any other JavaScript environment leveraging jszip. Projects using older versions of jszip, particularly those without robust input validation, are especially vulnerable.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -like '*node*'} | Select-Object Name, Path, CPU• nodejs / supply-chain:
Get-ChildItem -Path Env:NODE_PATH -Recurse -Filter 'jszip*' | Select-Object FullName• generic web: Inspect Node.js application logs for errors related to object property modifications or unexpected behavior after zip file processing.
disclosure
Status do Exploit
EPSS
0.14% (percentil 34%)
Vetor CVSS
A mitigação primária para CVE-2021-23413 é atualizar a biblioteca jszip para a versão 3.7.0 ou superior, que corrige a vulnerabilidade. Se a atualização imediata não for possível devido a incompatibilidades, considere implementar validações rigorosas nos nomes dos arquivos ZIP antes de processá-los com jszip. Essas validações devem garantir que os nomes dos arquivos não contenham propriedades do protótipo JavaScript. Além disso, a implementação de uma camada de segurança, como um Web Application Firewall (WAF), pode ajudar a detectar e bloquear solicitações maliciosas que tentam explorar essa vulnerabilidade. Após a atualização, confirme a correção executando testes de segurança que simulem a exploração da vulnerabilidade.
Atualize a dependência jszip para a versão 3.7.0 ou superior. Isso corrige a vulnerabilidade de negação de serviço causada pela manipulação do protótipo de Object ao criar arquivos zip com nomes de arquivo maliciosos.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2021-23413 is a prototype pollution vulnerability in jszip versions before 3.7.0. Attackers can manipulate JavaScript object prototypes by crafting malicious zip files, potentially leading to code execution.
If you are using jszip versions prior to 3.7.0 in your Node.js application, you are potentially affected by this vulnerability. Check your project dependencies to determine your jszip version.
Upgrade to jszip version 3.7.0 or later to remediate this vulnerability. This version includes a fix that prevents prototype pollution.
While no confirmed active exploitation campaigns have been publicly linked to this CVE, prototype pollution vulnerabilities are a known attack vector, and exploitation is possible.
Refer to the jszip GitHub repository for details and updates: https://github.com/jszip/jszip/issues/1823
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.