REDHAT-BUG-2458084
jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2458084?
The severity of REDHAT-BUG-2458084 is considered high due to its potential for denial-of-service attacks.
How do I fix REDHAT-BUG-2458084?
To fix REDHAT-BUG-2458084, upgrade to a version of jq newer than commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.
What vulnerabilities are associated with REDHAT-BUG-2458084?
REDHAT-BUG-2458084 is associated with collisions in hash table operations that could allow attackers to perform denial-of-service attacks.
Who is affected by REDHAT-BUG-2458084?
Users of jq versions prior to commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784 are affected by REDHAT-BUG-2458084.
What is the cause of REDHAT-BUG-2458084?
REDHAT-BUG-2458084 is caused by the use of a hardcoded seed for MurmurHash3, which allows for predictable hash collisions.