PT-2026-53025 · Git+2 · Js-Toml

CVE-2026-50029

·

Publicado

2026-06-26

·

Atualizado

2026-08-17

CVSS v3.1

5.3

Média

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Nome do Software Vulnerável e Versões Afetadas js-toml versões anteriores a 1.1.2
Description O interpretador verifica incorretamente se uma chave já existe em um contêiner construído pelo analisador usando if (object[key]) em vez de if (key in object). Quando uma chave recebe um valor primitivo falsy—como false, 0, 0n, 0.0, -0 ou ""—a verificação de chave duplicada é ignorada. Isso permite que o valor seja silenciosamente sobrescrito por uma sub-tabela posterior, sub-tabela de chave pontuada ou array-de-tabelas com o mesmo nome, o que viola a especificação TOML 1.0.0, que define que a definição de uma chave múltiplas vezes é inválida.
Isso resulta em uma confusão de tipo estrutural no valor retornado pela função load(), onde um primitivo falsy (como um booleano false) torna-se um objeto truthy. Consequentemente, aplicações hospedeiras que baseiam seu comportamento em verificações como if (config.flag) podem executar silenciosamente o ramo truthy. O problema está presente nas funções Interpreter.tryCreatingObject() e Interpreter.getOrCreateArray().
Recommendations Atualize o js-toml para a versão 1.1.2.

Exploit

Correção

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-50029
GHSA-M34P-749J-X6M6

Produtos afetados

Js-Toml