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
| Vetor | AV: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
Produtos afetados
Js-Toml