CVE-2026-40164 in jqlang
Sumário
de VulDB • 25/05/2026
jq é um processador de JSON para linha de comando. Antes do commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, o jq utilizava o MurmurHash3 com uma semente (seed) codificada e publicamente visível (0x432A9843) para todas as operações de tabela de hash de objetos JSON, o que permitia a um atacante pré-computar colisões de chaves offline. Ao fornecer um objeto JSON manipulado (~100 KB) onde todas as chaves eram hashadas para o mesmo bucket, as consultas na tabela de hash degradaram de O(1) para O(n), transformando qualquer expressão jq em uma operação O(n²) e causando esgotamento significativo de CPU. Isso afetou casos de uso comuns do jq, como pipelines de CI/CD, serviços web e scripts de processamento de dados, e era muito mais prático de explorar do que vulnerabilidades existentes de heap overflow, pois requeria apenas um payload pequeno. Esta questão foi corrigida no commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.