Plataforma
nodejs
Componente
json-schema
Corrigido em
0.3.1
0.4.0
A vulnerabilidade CVE-2021-3918 é uma falha de Prototype Pollution identificada na biblioteca json-schema, afetando versões anteriores à 0.4.0. Essa falha permite que atacantes modifiquem atributos do protótipo de objetos JavaScript, potencialmente comprometendo a integridade e a segurança de aplicações Node.js. A correção para esta vulnerabilidade está disponível na versão 0.4.0 da biblioteca.
A exploração bem-sucedida desta vulnerabilidade permite que um atacante injete propriedades arbitrárias no protótipo de objetos JavaScript. Isso pode levar a uma ampla gama de ataques, incluindo a manipulação de dados, a evasão de controles de segurança e a execução de código malicioso. Em cenários complexos, a poluição do protótipo pode afetar o comportamento de outras bibliotecas e frameworks que dependem do mesmo protótipo, ampliando o impacto. A vulnerabilidade é particularmente perigosa em aplicações que utilizam json-schema para validação de dados, pois um atacante pode manipular a validação e injetar dados maliciosos.
A vulnerabilidade CVE-2021-3918 foi divulgada publicamente em 19 de novembro de 2021. Não há evidências de exploração ativa em larga escala no momento, mas a gravidade da vulnerabilidade (CVSS 9.8) indica um alto potencial de exploração. A biblioteca json-schema é amplamente utilizada em aplicações Node.js, tornando-a um alvo atraente para atacantes. Não foi adicionada ao KEV (Know Exploited Vulnerabilities) até o momento.
Status do Exploit
EPSS
1.26% (percentil 79%)
Vetor CVSS
A mitigação primária para CVE-2021-3918 é atualizar a biblioteca json-schema para a versão 0.4.0 ou superior. Em ambientes onde a atualização imediata não é possível, considere implementar medidas de proteção adicionais, como a sanitização rigorosa de dados de entrada e a validação de todos os objetos antes de usá-los. Implementar regras de firewall de aplicação web (WAF) para detectar e bloquear padrões de ataque de poluição de protótipo também pode ajudar a reduzir o risco. Monitore logs de aplicação em busca de tentativas de modificação de propriedades de protótipo inesperadas.
Atualize a biblioteca json-schema para uma versão posterior a 0.3.0. Isso resolverá a vulnerabilidade de Prototype Pollution. Você pode atualizar a dependência utilizando npm ou yarn.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
Prototype Pollution is an attack that allows an attacker to modify properties on the Object.prototype, impacting all object instances in JavaScript.
If you are using kriszyp/json-schema in a version prior to 0.4.0, your application is vulnerable. Review your code to identify where the library is used and if you process JSON data from untrusted sources.
Implementing additional validations on JSON input can help reduce the risk, but it is not a complete solution. Monitoring application logs is also important.
JSON schemas that attempt to modify properties of the Object.prototype, such as proto, constructor, or custom properties.
You can find more information in the NIST vulnerability database: https://nvd.nist.gov/vuln/detail/CVE-2021-3918
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.