CVE-2026-43895 Path traversal in jq
Attackers can bypass redaction policies by using embedded NUL bytes in import paths, causing jq to expose sensitive fields in published artifacts.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-43895?
CVE-2026-43895 is a medium-severity path traversal vulnerability in jqlang jq, published on 11 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.
Which versions are affected by CVE-2026-43895?
It affects 1 product.
Products include Jqlang Jq.
How do I fix CVE-2026-43895?
Upgrade to a fixed version.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-43895 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-43895 exists.
Other vulnerabilities in jqlang jq
- CVE-2026-32316 jq: Integer overflow in jvp_string_append() allows Heap-based Buffer Overflow
- CVE-2024-53427 Memory corruption in jq
- CVE-2025-48060 AddressSanitizer: stack-buffer-overflow in jq_fuzz_execute (jv_string_vfmt)
- CVE-2023-49355 Memory corruption in n/a
- CVE-2026-49839 jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow
Sources
Also known as ALPINE-CVE-2026-43895, AZL-86378, BELL-CVE-2026-43895, DEBIAN-CVE-2026-43895, ECHO-98fd-319d-20dc, GHSA-7q7g-mrq3-phxr and 1 more.