Description
jq is a command-line JSON processor. In 1.8.1 and earlier, jq accepts embedded NUL bytes in import paths at the jq-language level, but later resolves those paths through C string operations during module and data-file lookup. This creates a mismatch between the logical import string that policy or audit code may validate and the on-disk path that jq actually opens.
Published: 2026-05-11
Score: 4.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

jq processes JSON through user supplied import paths. In releases 1.8.1 and earlier, the jq language accepts embedded NUL bytes in these paths, but when the runtime resolves the paths it uses C string operations that truncate at the first NUL. This creates a mismatch between the logical path that policy or audit code may validate and the actual on‑disk path that jq opens. As a result, a locally executing actor can include a NUL byte in an import path to force jq to open a different file than the one the policy permits, thereby bypassing redaction rules and preserving sensitive fields in any artifacts produced by the command.

Affected Systems

The vulnerability is present in the jq JSON processor from the jqlang:jq project. Versions 1.8.1 and all earlier releases are affected; a newer release that corrects the NUL handling is required.

Risk and Exploitability

With a CVSS score of 4.4 the vulnerability is considered moderate. The EPSS score is not available and the issue is not listed in the CISA KEV catalog, but it can be exploited locally by constructing a jq command or script that contains an embedded NUL byte in an import path. The attacker must have the ability to run jq on the target system; no network‑based trigger is described, so the attack surface is confined to local execution or automated build pipelines that invoke jq.

Generated by OpenCVE AI on May 11, 2026 at 19:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade jq to version 1.8.2 or later.
  • Ensure that any jq scripts or command‑line invocations do not contain NUL characters in import paths.
  • If an immediate upgrade is impossible, implement a sanitization check that rejects import paths containing NUL bytes before jq is executed.

Generated by OpenCVE AI on May 11, 2026 at 19:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 11 May 2026 20:00:00 +0000

Type Values Removed Values Added
First Time appeared Jqlang
Jqlang jq
Vendors & Products Jqlang
Jqlang jq

Mon, 11 May 2026 18:00:00 +0000

Type Values Removed Values Added
Description jq is a command-line JSON processor. In 1.8.1 and earlier, jq accepts embedded NUL bytes in import paths at the jq-language level, but later resolves those paths through C string operations during module and data-file lookup. This creates a mismatch between the logical import string that policy or audit code may validate and the on-disk path that jq actually opens.
Title jq: Embedded NUL in jq import paths causes local redaction-policy bypass and preserves sensitive fields in published artifacts
Weaknesses CWE-158
CWE-20
References
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-11T17:24:02.880Z

Reserved: 2026-05-04T15:17:09.330Z

Link: CVE-2026-43895

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-11T18:16:37.387

Modified: 2026-05-11T18:16:37.387

Link: CVE-2026-43895

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-11T19:45:08Z

Weaknesses