Cyber Resilience

CVE-2026-43895

Jqlang Jq ≤ 1.8.1

Public PoC
Published
11 May 2026
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 4.4
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
EPSS Score 0.0016 5th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2026-43895 is a medium-severity Improper Input Validation (CWE-20) vulnerability in Jqlang Jq. Its CVSS base score is 4.4 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Unix Shell (T1059.004); ranked at the 5th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

between the logical import string that policy or audit code may validate and the on-disk path that jq actually opens.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
T1574 Hijack Execution Flow Stealth
Adversaries may execute their own malicious payloads by hijacking the way operating systems run programs.
Why these techniques?

NUL byte mismatch in jq import paths enables validation bypass for module/data loading (T1574 hijack) and arbitrary jq script execution via Unix CLI (T1059.004).

Confidence: MEDIUM · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-41256Same product: Jqlang Jq
CVE-2026-33948Same product: Jqlang Jq
CVE-2026-43894Same product: Jqlang Jq
CVE-2026-47770Same product: Jqlang Jq
CVE-2023-49355Same product: Jqlang Jq
CVE-2024-53427Same product: Jqlang Jq
CVE-2026-39956Same product: Jqlang Jq
CVE-2023-50268Same product: Jqlang Jq
CVE-2026-49839Same product: Jqlang Jq
CVE-2023-50246Same product: Jqlang Jq

Affected Assets

jqlang
jq
≤ 1.8.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-10 Information Input Validation
  • AC-3 Access Enforcement
  • AC-6 Least Privilege
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 6 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.2.10

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly requires validation and sanitization of untrusted inputs such as import paths, eliminating acceptance of embedded NUL bytes before C-string resolution occurs.

prevent

Enforces access decisions on the actual filesystem path that jq opens, closing the gap between the validated logical import string and the on-disk file.

prevent

Restricts the privileges available to jq processes, limiting the impact of any successful mismatch between validated and resolved import paths.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require and enforce input validation during development.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

detects

Testing against a defined set of requirements and using code review plus vulnerability scanning forces validation of inputs and handling of unanticipated conditions, reducing the chance that malformed data will be accepted.

prevents

Secure-coding guidelines and mandatory security testing (including code scans) compel developers to validate and sanitize inputs at design and implementation time, lowering the incidence of malformed or malicious data reaching downstream components.

prevents

Mandating input controls that include integrity checks and input validation ensures that untrusted data is examined before use, blocking the root cause of many injection and malformed-data weaknesses.

prevents

Security-by-design principles explicitly call for data validation and sanitization at every layer, reducing the chance that malformed or malicious input will be processed without scrutiny.

prevents

Requiring language-specific secure coding standards, peer review, SAST and documented mitigation of common programming errors forces validation of all inputs before they are trusted.

none

Regular automated validation of system software and data content, combined with scanning of all inbound files, enforces input validation at the boundary before untrusted content is processed.

References