PT-2026-23094 · Unknown+1 · Immutable-Js+1
CVSS v3.1
9.8
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Versões do Immutable.js anteriores à 3.8.3
Versões do Immutable.js anteriores à 4.3.7
Versões do Immutable.js anteriores à 5.1.5
Descrição
Existe uma vulnerabilidade de Poluição de Protótipo no Immutable.js nas versões anteriores à 3.8.3, 4.3.7 e 5.1.5, especificamente dentro das APIs
mergeDeep(), mergeDeepWith(), merge(), Map.toJS() e Map.toObject(). Isso permite a modificação potencial da cadeia de protótipos, podendo levar a comportamento inesperado ou comprometimentos de segurança. O problema ocorre porque essas APIs não protegem adequadamente contra a introdução de propriedades no objeto proto durante a mesclagem ou conversão de objetos. A função mergeDeep() itera as chaves de origem via ObjectSeq e atribui merged[key]. A função mergeDeepWith() usa o mesmo caminho de código. A função merge() é uma variante superficial com lógica de atribuição similar. As funções Map.toJS() e Map.toObject() atribuem valores sem verificar propriedades proto. A função Map.mergeDeep() também é afetada quando a origem é convertida para um objeto simples. O código de prova de conceito demonstra como um atacante pode injetar propriedades na cadeia de protótipos via um payload JSON manipulado, potencialmente escalonando privilégios ou contornando verificações de segurança.Recomendações
Atualize para a versão 3.8.3 ou posterior do Immutable.js.
Atualize para a versão 4.3.7 ou posterior do Immutable.js.
Atualize para a versão 5.1.5 ou posterior do Immutable.js.
Exploit
Correção
DoS
Prototype Pollution
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Confluence
Immutable-Js