js-toml 1.1.0 e anteriores: vulnerabilidade de tempo quadrático em parseBigInt
js-toml até a versão 1.1.0 possui uma vulnerabilidade de tempo quadrático na função parseBigInt usada para literais hexadecimais, octais e binários. O loop manu
O que mudou
js-toml até a versão 1.1.0 possui uma vulnerabilidade de tempo quadrático na função parseBigInt usada para literais hexadecimais, octais e binários. O loop manual realiza O(n²) multiplicações de BigInt, e não há limite de tamanho nos literais, permitindo que um único literal hex de ~500 kB trave uma CPU por ~40 segundos.
Quem isso afeta
Qualquer aplicação que chame load() em entrada TOML controlada por atacante ou de terceiros, como endpoints de upload de configuração, sistemas CI/CD, plugins de IDE ou SaaS multi-inquilino.
O que fazer hoje
Atualize js-toml para uma versão corrigida (>= 1.2.0) ou aplique a correção sugerida: substitua parseBigInt por BigInt(intString) e adicione um limite de maxLiteralLength (ex.: 1000 dígitos).