CVE-2026-40164 - jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHas
CVE-2026-40164 + jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHas + High + 2026-04-14
One-sentence business risk
Attackers can turn a normal application path into code execution, making this a direct production-host takeover risk.
Research notes
- Root cause: 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 collisi.
- Affected versions: Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON obje.
- Fixed / safe versions: patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784…
- Public exploit / PoC signal: the consulted NVD/GHSA/vendor sources describe the trigger class; treat it as reproducible until patched.
- CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
Exact vulnerable code pattern
update_or_read(request.body.target_id) # no owner/role check
Fixed / mitigated code pattern
target = load_owned_resource(actor, target_id); require_role(actor, target, "admin")
Dependency or runtime update:
python -m pip show affected component || true
python -m pip install -U affected component
python -m pip check
Step-by-step integration guide
- Inventory
affected componentacross source, lockfiles, SBOMs, container images, CI images, and deployment manifests. - Upgrade to
patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.or apply the exact vendor patch referenced below. - Replace the vulnerable
authzpattern with the fixed pattern and fail closed on malformed input. - Add a regression test that exercises the advisory trigger and proves the request is rejected, bounded, or authorized.
- Deploy through canary, monitor security logs and resource metrics, then remove temporary edge blocks only after all runtimes are fixed.
Alternative mitigations
- Disable the vulnerable feature path while the package/runtime update rolls out.
- Add WAF or reverse-proxy rules for traversal tokens, prototype-polluting keys, oversized frames, shell metacharacters, or unauthenticated tool calls matching the trigger class.
- Restrict internal egress, rotate exposed secrets, and revoke affected tokens/keys if the vulnerability can disclose config, logs, JWT secrets, proxy credentials, or PKI material.
- For admin/API authorization issues, temporarily require elevated roles and explicit ownership checks at the gateway.
Detection signature
id: cve-2026-40164-jq-is-a-command-line-json-processor-before-commi
source: NVD bulk JSON feed
dependency_or_product: "affected component"
affected: "Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON obje"
fixed: "patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784."
signals:
- "authz"
- "../"
- "__proto__"
- "tools/call"
- "wp_ajax_nopriv"
- "pickle.loads"
- "shell command construction"
action: "upgrade, add regression test, and verify deploy artifact"
Copy-paste skill
You are remediating CVE-2026-40164 (jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHas) in this repository.
Find every affected dependency, runtime, image, service configuration, and reachable code path. Upgrade or patch to patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.. Replace the vulnerable authz pattern with a fail-closed implementation, add a regression test for the trigger shape, and update deployment/SBOM artifacts. If this repository does not control the affected runtime, create TRIAGE.md naming the owner, affected version, fixed version, and blocking decision.
Keywords, affected tech stack, and revenue tags
- Keywords:
CVE-2026-40164,authz,affected component,NVD bulk JSON feed. - Affected tech stack:
python/pip. - Revenue tags:
sellable_to_fintech,enterprise_blocker,high_priority_sla.
References
- https://access.redhat.com/errata/RHSA-2026:16252
- https://access.redhat.com/errata/RHSA-2026:16692
- https://access.redhat.com/errata/RHSA-2026:16693
- https://access.redhat.com/errata/RHSA-2026:18040
- https://access.redhat.com/errata/RHSA-2026:18042
- https://access.redhat.com/errata/RHSA-2026:18043
- https://access.redhat.com/errata/RHSA-2026:18044
- https://access.redhat.com/errata/RHSA-2026:18045
- https://access.redhat.com/errata/RHSA-2026:18046
- https://access.redhat.com/errata/RHSA-2026:18047
- https://access.redhat.com/errata/RHSA-2026:18048
- https://access.redhat.com/errata/RHSA-2026:19151
- https://access.redhat.com/errata/RHSA-2026:19365
- https://access.redhat.com/errata/RHSA-2026:23233
- https://access.redhat.com/errata/RHSA-2026:23245
- https://access.redhat.com/errata/RHSA-2026:25044
- https://access.redhat.com/errata/RHSA-2026:25096
- https://access.redhat.com/errata/RHSA-2026:25181
- https://access.redhat.com/errata/RHSA-2026:26528
- https://access.redhat.com/errata/RHSA-2026:26542
- https://access.redhat.com/errata/RHSA-2026:30078
- https://access.redhat.com/errata/RHSA-2026:30087
- https://access.redhat.com/errata/RHSA-2026:30088
- https://access.redhat.com/errata/RHSA-2026:30089
- https://access.redhat.com/errata/RHSA-2026:8579
- https://access.redhat.com/security/cve/CVE-2026-40164
- https://bugzilla.redhat.com/show_bug.cgi?id=2458084
- https://github.com/jqlang/jq/commit/0c7d133c3c7e37c00b6d46b658a02244fdd3c784
- https://github.com/jqlang/jq/security/advisories/GHSA-wwj8-gxm6-jc29
- https://nvd.nist.gov/vuln/detail/CVE-2026-40164
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40164.json