Plataforma
nodejs
Componente
lodash
Corrigido em
4.18.0
4.18.0
4.18.0
4.18.0
4.18.0
A vulnerabilidade CVE-2026-2950 afeta versões 4.17.23 e anteriores da biblioteca Lodash, permitindo a poluição de protótipos através das funções .unset e .omit. Essa falha permite a exclusão de propriedades de protótipos importantes, como Object.prototype, potencialmente impactando o comportamento de aplicações que utilizam Lodash. A versão 4.18.0 corrige essa vulnerabilidade, e a aplicação do patch é recomendada para mitigar o risco.
A CVE-2026-2950 afeta versões do Lodash anteriores à 4.17.23, introduzindo uma vulnerabilidade de poluição de protótipos nas funções .unset e .omit. Embora a correção implementada para CVE-2025-13465 visasse mitigar este problema, ela protegia apenas contra chaves do tipo string. Os atacantes podem contornar esta proteção passando segmentos de caminho envoltos em arrays. Isso permite a exclusão de propriedades de protótipos integrados, como Object.prototype, Number.prototype e String.prototype, comprometendo a estabilidade e a segurança das aplicações que utilizam o Lodash. A gravidade da vulnerabilidade é classificada como 6.5 de acordo com o CVSS. A manipulação de protótipos pode levar a um comportamento inesperado, erros em tempo de execução e, potencialmente, à execução de código malicioso.
A vulnerabilidade é explorada fornecendo a .unset ou .omit um caminho que consiste em um array de chaves. Este caminho, quando processado incorretamente, permite a modificação ou exclusão de propriedades nos protótipos de objetos, números ou strings. Um atacante poderia, por exemplo, excluir a propriedade toString de Object.prototype, o que causaria erros na conversão de objetos para strings em toda a aplicação. A exploração é relativamente simples e não requer privilégios especiais, aumentando o risco de ataques generalizados. O contexto de exploração depende da aplicação que utiliza o Lodash e da capacidade do atacante de controlar as entradas para as funções vulneráveis.
Applications built with Node.js that utilize Lodash, particularly those that accept user-supplied data and pass it directly to .unset or .omit functions, are at significant risk. Projects relying on older versions of Lodash within complex JavaScript ecosystems are also vulnerable, as are developers who have not kept their dependencies up-to-date.
• nodejs:
npm list lodashThis command will list installed Lodash versions. Check if the version is below 4.18.0. • nodejs:
find node_modules -name "lodash.js" -print0 | xargs -0 grep -i "_.unset" -lThis searches for files containing .unset within the nodemodules directory, indicating potential usage of the vulnerable function.
• generic web:
Inspect application logs for unusual errors or exceptions related to prototype properties. Look for patterns suggesting property deletion or modification.
• generic web:
Review application code for instances of .unset and .omit where user-supplied input is used to construct the path segments.
disclosure
Status do Exploit
EPSS
0.06% (percentil 17%)
CISA SSVC
Vetor CVSS
A solução recomendada é atualizar para o Lodash versão 4.18.0 ou superior. Esta versão inclui uma correção que aborda a vulnerabilidade de poluição de protótipos, validando corretamente todos os tipos de chaves, incluindo aquelas envoltas em arrays. Se a atualização para a versão mais recente não for possível imediatamente, recomenda-se uma revisão completa do código que utiliza as funções .unset e .omit, procurando padrões que possam ser suscetíveis à exploração. Implementar validações adicionais nas entradas dessas funções pode ajudar a mitigar o risco, embora não seja uma solução completa. Monitorar as aplicações em busca de comportamentos anômalos também é crucial.
Actualice la biblioteca lodash a la versión 4.18.0 o superior. Esta versión contiene la corrección para la vulnerabilidad de prototype pollution. Ejecute `npm install lodash@latest` o `yarn add lodash@latest` para actualizar.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
É uma vulnerabilidade que permite modificar as propriedades dos protótipos de objetos, afetando todas as instâncias desse tipo de objeto.
Pode causar um comportamento inesperado, erros em tempo de execução e até mesmo permitir a execução de código malicioso.
Realize uma revisão completa do código e considere implementar validações adicionais nas entradas para .unset e .omit.
Existem ferramentas de análise estática de código que podem ajudar a identificar o uso de funções vulneráveis e padrões de código suspeitos.
Mantenha suas dependências atualizadas, realize revisões de segurança periódicas e siga as melhores práticas de codificação segura.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.