PT-2026-85247 · Npm · Toml-Node
CVE-2026-63376
·
Publicado
2026-09-03
·
Atualizado
2026-09-04
CVSS v3.1
8.2
Alta
| Vetor | AV: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.
Exploit
Correção
DoS
RCE
Prototype Pollution
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Toml-Node