PT-2026-85247
CVE-2026-63376
·
Publicado
2026-09-03
·
Atualizado
2026-10-28
Descrição por
CVSS 3.1
8.2
AltaMétricasAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Nome do Software Vulnerável e Versões Afetadas
toml-node versões anteriores a 4.1.2
Descrição
A função
toml.parse() em lib/compiler.js permite que um invasor escreva chaves arbitrárias no Object.prototype ao rotear um caminho de tabela através de um valor escalar. Isso ocorre porque a função deepRef() trata proto, constructor e prototype como chaves de travessia comuns. Quando um caminho como a.b.y. proto . proto é utilizado e a.b.y é um número, a travessia atinge o Number.prototype e, em seguida, o Object.prototype.Isso é possível devido a uma dessincronização na forma como o compilador rastreia os caminhos. A variável
currentPath é atribuída tanto como um array quanto como uma string, fazendo com que a proteção de chaves duplicadas registre caminhos usando vírgulas (ex: a,b.y), enquanto a função deepRef() verifica caminhos usando pontos (ex: a.b.y). Consequentemente, a proteção falha ao detectar a redefinição de uma chave existente. Além disso, um mecanismo de limpeza de prefixo em addTableArray() pode apagar o estado da proteção antes de uma travessia de proto.As propriedades injetadas tornam-se visíveis em todo o processo Node.js, o que pode levar à negação de serviço, bypass de lógica ou autorização, ou execução remota de código se a aplicação contiver um gadget adequado.
Recomendações
Atualize para a versão 4.1.2.
Explorabilidade
Exploit
Correção
Impactos
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾