Every CVE Search/ Get API key

CVE-2026-43894

jq: Wild stack write via signed-integer overflow in decNumber D2U() macro

6.2 MediumFix available

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.16%Up 0.1 points since May 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.2

jq: Wild stack write via signed-integer overflow in decNumber D2U() macro

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
CVE-2026-43894
CVSS 3.1
6.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-190
Updated
2026-11-02
EUVDEUVD-2026-29172 6.2

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
EUVD-2026-29172
CVSS 3.1
6.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
NVD 6.2

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
CVE-2026-43894
CVSS 3.1
6.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-190
Updated
2026-11-02
OSVALPINE-CVE-2026-43894 5.5

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
ALPINE-CVE-2026-43894
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVBELL-CVE-2026-43894 5.5
Record
BELL-CVE-2026-43894
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSV 6.2

jq: Wild stack write via signed-integer overflow in decNumber D2U() macro

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
CVE-2026-43894
CVSS 3.1
6.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-190
Updated
2026-11-02
Show 19 moreShow less
OSVDEBIAN-CVE-2026-43894 5.5

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
DEBIAN-CVE-2026-43894
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2026-2424 5.5

jq security update

jq is a lightweight and flexible command-line JSON processor. you can use it to slice and filter and map and transform structured data. It is written in portable C, and it has zero runtime dependencies. it can mangle the data format that you have into the one that you want.

Security Fix(es):

jq is a command-line JSON processor. In 1.8.1 and earlier, jv_contains recurses into nested arrays/objects with no depth limit. With a sufficiently nested input structure (built programmatically with reduce, since the JSON parser caps at depth 10000), the C stack is exhausted.(CVE-2026-40612)

jq is a command-line JSON processor. In 1.8.1 and earlier, Top-level jq programs loaded from a file with -f are truncated at the first embedded NUL byte on current upstream HEAD. A crafted filter file such as . followed by \x00 and arbitrary suffix compiles and executes as only the prefix before the NUL. This leaves jq with a post-CVE-2026-33948 prefix/full-buffer mismatch on the compilation path even though the JSON parser path has already been fixed.(CVE-2026-41256)

jq is a command-line JSON processor. In 1.8.1 and earlier, the jq bytecode VM's data stack tracks its allocation size in a signed int. When the stack grows beyond ≈1 GiB (via deeply nested generator forks), the doubling arithmetic overflows. The wrapped value is passed to realloc and then used for a memmove with attacker-influenced offsets.(CVE-2026-41257)

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).(CVE-2026-43894)

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.(CVE-2026-43895)

jq is a command-line JSON processor. In 1.8.1 and earlier, unbounded recursion in jv_object_merge_recursive() allows a crafted jq program to crash the process with a segfault. The function is reachable through the * operator when both operands are objects.(CVE-2026-43896)

jq is a command-line JSON processor. In 1.8.2rc1 and earlier, the ordinary module loader recurses without cycle detection when two otherwise valid modules include each other.(CVE-2026-44777)

Record
OESA-2026-2424
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2026-2425 5.5

jq security update

jq is a lightweight and flexible command-line JSON processor. you can use it to slice and filter and map and transform structured data. It is written in portable C, and it has zero runtime dependencies. it can mangle the data format that you have into the one that you want.

Security Fix(es):

jq is a command-line JSON processor. In 1.8.1 and earlier, jv_contains recurses into nested arrays/objects with no depth limit. With a sufficiently nested input structure (built programmatically with reduce, since the JSON parser caps at depth 10000), the C stack is exhausted.(CVE-2026-40612)

jq is a command-line JSON processor. In 1.8.1 and earlier, Top-level jq programs loaded from a file with -f are truncated at the first embedded NUL byte on current upstream HEAD. A crafted filter file such as . followed by \x00 and arbitrary suffix compiles and executes as only the prefix before the NUL. This leaves jq with a post-CVE-2026-33948 prefix/full-buffer mismatch on the compilation path even though the JSON parser path has already been fixed.(CVE-2026-41256)

jq is a command-line JSON processor. In 1.8.1 and earlier, the jq bytecode VM's data stack tracks its allocation size in a signed int. When the stack grows beyond ≈1 GiB (via deeply nested generator forks), the doubling arithmetic overflows. The wrapped value is passed to realloc and then used for a memmove with attacker-influenced offsets.(CVE-2026-41257)

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).(CVE-2026-43894)

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.(CVE-2026-43895)

jq is a command-line JSON processor. In 1.8.1 and earlier, unbounded recursion in jv_object_merge_recursive() allows a crafted jq program to crash the process with a segfault. The function is reachable through the * operator when both operands are objects.(CVE-2026-43896)

jq is a command-line JSON processor. In 1.8.2rc1 and earlier, the ordinary module loader recurses without cycle detection when two otherwise valid modules include each other.(CVE-2026-44777)

Record
OESA-2026-2425
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2026-2426 5.5

jq security update

jq is a lightweight and flexible command-line JSON processor. you can use it to slice and filter and map and transform structured data. It is written in portable C, and it has zero runtime dependencies. it can mangle the data format that you have into the one that you want.

Security Fix(es):

jq is a command-line JSON processor. In 1.8.1 and earlier, jv_contains recurses into nested arrays/objects with no depth limit. With a sufficiently nested input structure (built programmatically with reduce, since the JSON parser caps at depth 10000), the C stack is exhausted.(CVE-2026-40612)

jq is a command-line JSON processor. In 1.8.1 and earlier, Top-level jq programs loaded from a file with -f are truncated at the first embedded NUL byte on current upstream HEAD. A crafted filter file such as . followed by \x00 and arbitrary suffix compiles and executes as only the prefix before the NUL. This leaves jq with a post-CVE-2026-33948 prefix/full-buffer mismatch on the compilation path even though the JSON parser path has already been fixed.(CVE-2026-41256)

jq is a command-line JSON processor. In 1.8.1 and earlier, the jq bytecode VM's data stack tracks its allocation size in a signed int. When the stack grows beyond ≈1 GiB (via deeply nested generator forks), the doubling arithmetic overflows. The wrapped value is passed to realloc and then used for a memmove with attacker-influenced offsets.(CVE-2026-41257)

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).(CVE-2026-43894)

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.(CVE-2026-43895)

jq is a command-line JSON processor. In 1.8.1 and earlier, unbounded recursion in jv_object_merge_recursive() allows a crafted jq program to crash the process with a segfault. The function is reachable through the * operator when both operands are objects.(CVE-2026-43896)

jq is a command-line JSON processor. In 1.8.2rc1 and earlier, the ordinary module loader recurses without cycle detection when two otherwise valid modules include each other.(CVE-2026-44777)

Record
OESA-2026-2426
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2026-2427 5.5

jq security update

jq is a lightweight and flexible command-line JSON processor. you can use it to slice and filter and map and transform structured data. It is written in portable C, and it has zero runtime dependencies. it can mangle the data format that you have into the one that you want.

Security Fix(es):

jq is a command-line JSON processor. In 1.8.1 and earlier, jv_contains recurses into nested arrays/objects with no depth limit. With a sufficiently nested input structure (built programmatically with reduce, since the JSON parser caps at depth 10000), the C stack is exhausted.(CVE-2026-40612)

jq is a command-line JSON processor. In 1.8.1 and earlier, Top-level jq programs loaded from a file with -f are truncated at the first embedded NUL byte on current upstream HEAD. A crafted filter file such as . followed by \x00 and arbitrary suffix compiles and executes as only the prefix before the NUL. This leaves jq with a post-CVE-2026-33948 prefix/full-buffer mismatch on the compilation path even though the JSON parser path has already been fixed.(CVE-2026-41256)

jq is a command-line JSON processor. In 1.8.1 and earlier, the jq bytecode VM's data stack tracks its allocation size in a signed int. When the stack grows beyond ≈1 GiB (via deeply nested generator forks), the doubling arithmetic overflows. The wrapped value is passed to realloc and then used for a memmove with attacker-influenced offsets.(CVE-2026-41257)

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).(CVE-2026-43894)

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.(CVE-2026-43895)

jq is a command-line JSON processor. In 1.8.1 and earlier, unbounded recursion in jv_object_merge_recursive() allows a crafted jq program to crash the process with a segfault. The function is reachable through the * operator when both operands are objects.(CVE-2026-43896)

jq is a command-line JSON processor. In 1.8.2rc1 and earlier, the ordinary module loader recurses without cycle detection when two otherwise valid modules include each other.(CVE-2026-44777)

Record
OESA-2026-2427
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2026-2487 5.5

jq security update

jq is a lightweight and flexible command-line JSON processor. you can use it to slice and filter and map and transform structured data. It is written in portable C, and it has zero runtime dependencies. it can mangle the data format that you have into the one that you want.

Security Fix(es):

jq is a command-line JSON processor. In 1.8.1 and earlier, jv_contains recurses into nested arrays/objects with no depth limit. With a sufficiently nested input structure (built programmatically with reduce, since the JSON parser caps at depth 10000), the C stack is exhausted.(CVE-2026-40612)

jq is a command-line JSON processor. In 1.8.1 and earlier, Top-level jq programs loaded from a file with -f are truncated at the first embedded NUL byte on current upstream HEAD. A crafted filter file such as . followed by \x00 and arbitrary suffix compiles and executes as only the prefix before the NUL. This leaves jq with a post-CVE-2026-33948 prefix/full-buffer mismatch on the compilation path even though the JSON parser path has already been fixed.(CVE-2026-41256)

jq is a command-line JSON processor. In 1.8.1 and earlier, the jq bytecode VM's data stack tracks its allocation size in a signed int. When the stack grows beyond ≈1 GiB (via deeply nested generator forks), the doubling arithmetic overflows. The wrapped value is passed to realloc and then used for a memmove with attacker-influenced offsets.(CVE-2026-41257)

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).(CVE-2026-43894)

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.(CVE-2026-43895)

jq is a command-line JSON processor. In 1.8.1 and earlier, unbounded recursion in jv_object_merge_recursive() allows a crafted jq program to crash the process with a segfault. The function is reachable through the * operator when both operands are objects.(CVE-2026-43896)

jq is a command-line JSON processor. In 1.8.2rc1 and earlier, the ordinary module loader recurses without cycle detection when two otherwise valid modules include each other.(CVE-2026-44777)

Record
OESA-2026-2487
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2026:29986 6.6

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:29986
CVSS 3.1
6.6 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-43894 6.2

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
UBUNTU-CVE-2026-43894
CVSS 3.1
6.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVAZL-86372 No score

CVE-2026-43894 affecting package jq 1.7.1-8

jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).

Record
AZL-86372
Updated
2026-11-02
OSVCLSA-2026-1779123410 No score

jq: Fix of 8 CVEs

  • CVE-2026-40164: randomize hash seed to mitigate hash collision DoS
  • CVE-2026-40612: limit containment check depth
  • CVE-2026-41256: fix NUL truncation in program files loaded with -f
  • CVE-2026-41257: fix signed-int overflow in stack_reallocate
  • CVE-2026-43894: cap numeric literal length to DEC_MAX_DIGITS
  • CVE-2026-43895: reject embedded NUL bytes in module import paths
  • CVE-2026-43896: limit recursive object merge depth
  • CVE-2026-44777: detect circular module imports
Record
CLSA-2026-1779123410
Updated
2026-11-02
OSVCLSA-2026-1779273835 No score

jq: Fix of 8 CVEs

  • CVE-2026-40164: randomize hash seed to mitigate hash collision DoS
  • CVE-2026-40612: limit containment check depth
  • CVE-2026-41256: fix NUL truncation in program files loaded with -f
  • CVE-2026-41257: fix signed-int overflow in stack_reallocate
  • CVE-2026-43894: cap numeric literal length to DEC_MAX_DIGITS
  • CVE-2026-43895: reject embedded NUL bytes in module import paths
  • CVE-2026-43896: limit recursive object merge depth
  • CVE-2026-44777: detect circular module imports
Record
CLSA-2026-1779273835
Updated
2026-11-02
OSVMGASA-2026-0535 No score

Updated jq package fixes security vulnerabilities

Embedded NUL truncates top-level jq programs loaded with -f. (CVE-2026-41256) Signed-int overflow in stack_reallocate (jq VM stack). (CVE-2026-41257) Wild stack write via signed-integer overflow in decNumber D2U() macro. (CVE-2026-43894) Embedded NUL in jq import paths causes local redaction-policy bypass and preserves sensitive fields in published artifacts. (CVE-2026-43895) Stack Overflow in Recursive Object Merge. (CVE-2026-43896) Stack overflow in module loading on mutual include. (CVE-2026-44777) Stack overflow in deep structural equality. (CVE-2026-47770) jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow. (CVE-2026-49839) Potential integer overflow in jvp_string_append. (CVE-2026-54679)

Record
MGASA-2026-0535
Updated
2026-11-02
OSVopenSUSE-SU-2026:10850-1 No score

jq-1.8.1-3.1 on GA media

These are all security issues fixed in the jq-1.8.1-3.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10850-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21248-1 No score

Security update for jq

This update for jq fixes the following issues:

  • CVE-2025-48060: improper handling of string data in jv_string_empty can lead to heap buffer overflow and a crash when processing crafted input (bsc#1244116).
  • CVE-2026-32316: integer overflow within the jvp_string_append() and jvp_string_copy_replace_bad functions can lead to heap buffer overflow when evaluating untrusted jq queries (bsc#1262044).
  • CVE-2026-33947: unbounded recursion in functions jv_setpath(), jv_getpath(), and delpaths_sorted() can lead to excessive resource consumption when processing crafted JSON input (bsc#1262069).
  • CVE-2026-39956: missing runtime type checks in _strindices and jv_string_indexes() can lead to a crash when evaluating untrusted jq filters against a release build (bsc#1262070).
  • CVE-2026-39979: incorrect processing of non-nul-terminated counted buffers in jv_parse_sized can lead to an out-of-bounds read when processing malformed JSON (bsc#1262071).
  • CVE-2026-40164: use of MurmurHash3 with a hardcoded seed allows pre-computation of key collisions and can lead to a denial of service via resource exhaustion when processing crafted JSON objects (bsc#1262072).
  • CVE-2026-40612: recursion into nested arrays/objects with no depth limit in jv_contains can lead to a C stack exhaustion when processing crafted input (bsc#1265060).
  • CVE-2026-41256: truncation of top-level jq programs loaded with -f and can lead to the execution of unintended programs (bsc#1265061).
  • CVE-2026-41257: integer overflow in stack_reallocate can lead to memory corruption and DoS when processing jq bytecode (bsc#1265062).
  • CVE-2026-43894: signed integer overflow in the decNumberFromString D2U() macro can lead to an out-of-bounds memory write when processing large number literals (bsc#1265070).
  • CVE-2026-33948: improper handling of buffer sizes via strlen() instead of fgets() in CLI input parsing allows validation bypass via embedded NUL bytes (bsc#1262043).
Record
openSUSE-SU-2026:21248-1
Updated
2026-11-02
OSVSUSE-SU-2026:22545-1 No score

Security update for jq

This update for jq fixes the following issues:

  • CVE-2025-48060: improper handling of string data in jv_string_empty can lead to heap buffer overflow and a crash when processing crafted input (bsc#1244116).
  • CVE-2026-32316: integer overflow within the jvp_string_append() and jvp_string_copy_replace_bad functions can lead to heap buffer overflow when evaluating untrusted jq queries (bsc#1262044).
  • CVE-2026-33947: unbounded recursion in functions jv_setpath(), jv_getpath(), and delpaths_sorted() can lead to excessive resource consumption when processing crafted JSON input (bsc#1262069).
  • CVE-2026-39956: missing runtime type checks in _strindices and jv_string_indexes() can lead to a crash when evaluating untrusted jq filters against a release build (bsc#1262070).
  • CVE-2026-39979: incorrect processing of non-nul-terminated counted buffers in jv_parse_sized can lead to an out-of-bounds read when processing malformed JSON (bsc#1262071).
  • CVE-2026-40164: use of MurmurHash3 with a hardcoded seed allows pre-computation of key collisions and can lead to a denial of service via resource exhaustion when processing crafted JSON objects (bsc#1262072).
  • CVE-2026-40612: recursion into nested arrays/objects with no depth limit in jv_contains can lead to a C stack exhaustion when processing crafted input (bsc#1265060).
  • CVE-2026-41256: truncation of top-level jq programs loaded with -f and can lead to the execution of unintended programs (bsc#1265061).
  • CVE-2026-41257: integer overflow in stack_reallocate can lead to memory corruption and DoS when processing jq bytecode (bsc#1265062).
  • CVE-2026-43894: signed integer overflow in the decNumberFromString D2U() macro can lead to an out-of-bounds memory write when processing large number literals (bsc#1265070).
  • CVE-2026-33948: improper handling of buffer sizes via strlen() instead of fgets() in CLI input parsing allows validation bypass via embedded NUL bytes (bsc#1262043).
Record
SUSE-SU-2026:22545-1
Updated
2026-11-02
OSVSUSE-SU-2026:22566-1 No score

Security update for jq

This update for jq fixes the following issues:

  • CVE-2025-48060: improper handling of string data in jv_string_empty can lead to heap buffer overflow and a crash when processing crafted input (bsc#1244116).
  • CVE-2026-32316: integer overflow within the jvp_string_append() and jvp_string_copy_replace_bad functions can lead to heap buffer overflow when evaluating untrusted jq queries (bsc#1262044).
  • CVE-2026-33947: unbounded recursion in functions jv_setpath(), jv_getpath(), and delpaths_sorted() can lead to excessive resource consumption when processing crafted JSON input (bsc#1262069).
  • CVE-2026-39956: missing runtime type checks in _strindices and jv_string_indexes() can lead to a crash when evaluating untrusted jq filters against a release build (bsc#1262070).
  • CVE-2026-39979: incorrect processing of non-nul-terminated counted buffers in jv_parse_sized can lead to an out-of-bounds read when processing malformed JSON (bsc#1262071).
  • CVE-2026-40164: use of MurmurHash3 with a hardcoded seed allows pre-computation of key collisions and can lead to a denial of service via resource exhaustion when processing crafted JSON objects (bsc#1262072).
  • CVE-2026-40612: recursion into nested arrays/objects with no depth limit in jv_contains can lead to a C stack exhaustion when processing crafted input (bsc#1265060).
  • CVE-2026-41256: truncation of top-level jq programs loaded with -f and can lead to the execution of unintended programs (bsc#1265061).
  • CVE-2026-41257: integer overflow in stack_reallocate can lead to memory corruption and DoS when processing jq bytecode (bsc#1265062).
  • CVE-2026-43894: signed integer overflow in the decNumberFromString D2U() macro can lead to an out-of-bounds memory write when processing large number literals (bsc#1265070).
  • CVE-2026-33948: improper handling of buffer sizes via strlen() instead of fgets() in CLI input parsing allows validation bypass via embedded NUL bytes (bsc#1262043).
Record
SUSE-SU-2026:22566-1
Updated
2026-11-02
OSVSUSE-SU-2026:22664-1 No score

Security update for jq

This update for jq fixes the following issues:

  • CVE-2026-32316: integer overflow within the jvp_string_append() and jvp_string_copy_replace_bad functions can lead to heap buffer overflow when evaluating untrusted jq queries (bsc#1262044).
  • CVE-2026-33947: unbounded recursion in functions jv_setpath(), jv_getpath(), and delpaths_sorted() can lead to excessive resource consumption when processing crafted JSON input (bsc#1262069).
  • CVE-2026-39956: missing runtime type checks in _strindices and jv_string_indexes() can lead to a crash when evaluating untrusted jq filters against a release build (bsc#1262070).
  • CVE-2026-39979: incorrect processing of non-nul-terminated counted buffers in jv_parse_sized can lead to an out-of-bounds read when processing malformed JSON (bsc#1262071).
  • CVE-2026-40164: use of MurmurHash3 with a hardcoded seed allows pre-computation of key collisions and can lead to a denial of service via resource exhaustion when processing crafted JSON objects (bsc#1262072).
  • CVE-2026-40612: recursion into nested arrays/objects with no depth limit in jv_contains can lead to a C stack exhaustion when processing crafted input (bsc#1265060).
  • CVE-2026-41256: truncation of top-level jq programs loaded with -f and can lead to the execution of unintended programs (bsc#1265061).
  • CVE-2026-41257: integer overflow in stack_reallocate can lead to memory corruption and DoS when processing jq bytecode (bsc#1265062).
  • CVE-2026-43894: signed integer overflow in the decNumberFromString D2U() macro can lead to an out-of-bounds memory write when processing large number literals (bsc#1265070).
  • CVE-2026-33948: improper handling of buffer sizes via strlen() instead of fgets() in CLI input parsing allows validation bypass via embedded NUL bytes (bsc#1262043).
Record
SUSE-SU-2026:22664-1
Updated
2026-11-02
OSVSUSE-SU-2026:23873-1 No score

Security update for jq

This update for jq fixes the following issues:

Security issues fixed:

  • CVE-2015-8863: heap buffer overflow in tokenadd() function (bsc#976992).
  • CVE-2023-50246: improper memory handling can lead to a heap buffer overflow in decNumberToString (bsc#1218034).
  • CVE-2023-50268: stack-based buffer overflow in builds using decNumber (bsc#1218038).
  • CVE-2024-53427: stack-buffer-overflow in the decNumberCopy function in decNumber.c (bsc#1238078).
  • CVE-2025-9403: reachable assertion in run_jq_tests() (bsc#1248600).
  • CVE-2026-32316: denial of Service or potential arbitrary code execution due to integer overflow and heap-based buffer overflow (bsc#1262044).
  • CVE-2026-33948: CLI input parsing allows validation bypass via embedded NUL bytes (bsc#1262043).
  • CVE-2026-40164: predictable hash collisions can lead to a denial of service (bsc#1262072).
  • CVE-2026-40612: jv_contains recurses into nested arrays/objects with no depth limit and can cause a stack overflow (bsc#1265060).
  • CVE-2026-41256: embedded NUL truncates top-level jq programs loaded with -f and can lead to execution of unintended programs (bsc#1265061).
  • CVE-2026-41257: integer overflow in stack_reallocate can lead to memory corruption and DoS (bsc#1265062).
  • CVE-2026-43894: signed integer overflow in decNumber can lead to out-of-bounds memory write (bsc#1265070).
  • CVE-2026-43895: embedded NUL bytes in import paths can lead to policy bypass and sensitive information disclosure (bsc#1265071).
  • CVE-2026-43896: unbounded recursion in jv_object_merge_recursive() can lead to C stack exhaustion and a process crash (bsc#1265075).
  • CVE-2026-44777: uncontrolled recursion in ordinary module loader when two valid modules include each other can lead to stack exhaustion and process crash (bsc#1265076).
  • CVE-2026-47770: stack overflow in deep structural equality (bsc#1269221).
  • CVE-2026-49839: --rawfile invalid-state reuse after String too long can lead to a heap buffer overflow (bsc#1269220).
  • CVE-2026-54679: integer overflow in jvp_string_append can lead to a buffer overrun on 32-bit systems (bsc#1269390).

Changes for jq:

Update to version 1.7.1:

  • Make the default background color more suitable for bright backgrounds.
  • Allow passing the inline jq script after --.
  • Fix possible uninitialised value dereference if jq_init() fails
  • Simplify paths/0 and paths/1.
  • Reject U+001F in string literals.
  • Remove unused nref accumulator in block_bind_library.
  • Remove a bunch of unused variables, and useless assignments.
  • main.c: Remove unused EXIT_STATUS_EXACT option.
  • Actually use the number correctly casted from double to int as index.
  • src/builtin.c: remove unnecessary jv_copy-s in type_error/type_error2.
  • Remove undefined behavior caught by LLVM 10 UBSAN.
  • Convert decnum to binary64 (double) instead of decimal64. This makes jq behave like the JSON specification suggests and more similar to other languages.
  • Fix memory leaks on invalid input for ltrimstr/1 and rtrimstr/1.
  • Fix memory leak on failed get for setpath/2.
  • Fix nan from json parsing also for nans with payload that start with 'n'.
  • Allow carriage return characters in comments.
  • Generate links in the man page.
  • Add extern C for C++.
  • Make object key color configurable using JQ_COLORS environment variable.
  • Change the default color of null to Bright Black.
  • Respect NO_COLOR environment variable to disable color output.
  • Improved --help output. Now mentions all options and nicer order.
  • Fix multiple issues of exit code using --exit-code/-e option.
  • Add --raw-output0 for NUL (zero byte) separated output.
  • Fix assert crash and validate JSON for --jsonarg.
  • Remove deprecated --argfile option.
  • Use decimal number literals to preserve precision. Comparison operations respects precision but arithmetic operations might truncate.
  • Adds new builtin pick(stream) to emit a projection of the input object or array.
  • Adds new builtin…
Record
SUSE-SU-2026:23873-1
Updated
2026-11-02
OSVSUSE-SU-2026:4275-1 No score

Security update for jq

This update for jq fixes the following issues:

Security issues fixed:

  • CVE-2015-8863: heap buffer overflow in tokenadd() function (bsc#976992).
  • CVE-2023-50246: improper memory handling can lead to a heap buffer overflow in decNumberToString (bsc#1218034).
  • CVE-2023-50268: stack-based buffer overflow in builds using decNumber (bsc#1218038).
  • CVE-2024-53427: stack-buffer-overflow in the decNumberCopy function in decNumber.c (bsc#1238078).
  • CVE-2025-9403: reachable assertion in run_jq_tests() (bsc#1248600).
  • CVE-2026-33948: CLI input parsing allows validation bypass via embedded NUL bytes (bsc#1262043).
  • CVE-2026-40164: predictable hash collisions can lead to a denial of service (bsc#1262072).
  • CVE-2026-40612: jv_contains recurses into nested arrays/objects with no depth limit and can cause a stack overflow (bsc#1265060).
  • CVE-2026-41256: embedded NUL truncates top-level jq programs loaded with -f and can lead to execution of unintended programs (bsc#1265061).
  • CVE-2026-41257: integer overflow in stack_reallocate can lead to memory corruption and DoS (bsc#1265062).
  • CVE-2026-43894: signed integer overflow in decNumber can lead to out-of-bounds memory write (bsc#1265070).
  • CVE-2026-43895: embedded NUL bytes in import paths can lead to policy bypass and sensitive information disclosure (bsc#1265071).
  • CVE-2026-43896: unbounded recursion in jv_object_merge_recursive() can lead to C stack exhaustion and a process crash (bsc#1265075).
  • CVE-2026-44777: uncontrolled recursion in ordinary module loader when two valid modules include each other can lead to stack exhaustion and process crash (bsc#1265076).
  • CVE-2026-47770: stack overflow in deep structural equality (bsc#1269221).
  • CVE-2026-49839: --rawfile invalid-state reuse after String too long can lead to a heap buffer overflow (bsc#1269220).
  • CVE-2026-54679: integer overflow in jvp_string_append can lead to a buffer overrun on 32-bit systems (bsc#1269390).

Changes for jq:

Update to version 1.7.1:

  • Make the default background color more suitable for bright backgrounds.
  • Allow passing the inline jq script after --.
  • Fix possible uninitialised value dereference if jq_init() fails
  • Simplify paths/0 and paths/1.
  • Reject U+001F in string literals.
  • Remove unused nref accumulator in block_bind_library.
  • Remove a bunch of unused variables, and useless assignments.
  • main.c: Remove unused EXIT_STATUS_EXACT option.
  • Actually use the number correctly casted from double to int as index.
  • src/builtin.c: remove unnecessary jv_copy-s in type_error/type_error2.
  • Remove undefined behavior caught by LLVM 10 UBSAN.
  • Convert decnum to binary64 (double) instead of decimal64. This makes jq behave like the JSON specification suggests and more similar to other languages.
  • Fix memory leaks on invalid input for ltrimstr/1 and rtrimstr/1.
  • Fix memory leak on failed get for setpath/2.
  • Fix nan from json parsing also for nans with payload that start with 'n'.
  • Allow carriage return characters in comments.
  • Generate links in the man page.
  • Add extern C for C++.
  • Make object key color configurable using JQ_COLORS environment variable.
  • Change the default color of null to Bright Black.
  • Respect NO_COLOR environment variable to disable color output.
  • Improved --help output. Now mentions all options and nicer order.
  • Fix multiple issues of exit code using --exit-code/-e option.
  • Add --raw-output0 for NUL (zero byte) separated output.
  • Fix assert crash and validate JSON for --jsonarg.
  • Remove deprecated --argfile option.
  • Use decimal number literals to preserve precision. Comparison operations respects precision but arithmetic operations might truncate.
  • Adds new builtin pick(stream) to emit a projection of the input object or array.
  • Adds new builtin debug(msgs) that works like debug but applies a filter on the input before writing to stderr.
  • Adds new builtin scan($re; $flags). Was documented…
Record
SUSE-SU-2026:4275-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
jq
Alpine:v3.22
before 1.8.2-r0
1.8.2-r0
jq
Alpine:v3.23
before 1.8.2-r0
1.8.2-r0
jq
Alpine:v3.24
before 1.8.2-r0
1.8.2-r0
jq
Azure Linux:3
through 1.7.1-8 None known
jq
Alpaquita:23
1.6-r2 up to 1.8.1-r1
1.8.1-r1
jq
Alpaquita:25
1.7.1-r0 up to 1.8.1-r2
1.8.1-r2
jq
Alpaquita:stream
1.6-r1 up to 1.8.1-r1
1.8.1-r1
jq
TuxCare:AlmaLinux:9.2
before 1.6-14.el9.tuxcare.els6
1.6-14.el9.tuxcare.els6
jq-devel
TuxCare:AlmaLinux:9.2
before 1.6-14.el9.tuxcare.els6
1.6-14.el9.tuxcare.els6
jq
TuxCare:AlmaLinux:9.6
before 1.6-17.el9_6.2.tuxcare.els3
1.6-17.el9_6.2.tuxcare.els3
Show 42 moreShow less
Affected packages
PackageAffectedFixed
jq-devel
TuxCare:AlmaLinux:9.6
before 1.6-17.el9_6.2.tuxcare.els3
1.6-17.el9_6.2.tuxcare.els3
jq
Debian:12
before 1.6-2.1+deb12u2, plus listed versions
1.6-2.11.6-2.1+deb12u1
1.6-2.1+deb12u2
jq
Debian:13
before 1.7.1-6+deb13u3, plus listed versions
1.7.1-6+deb13u11.7.1-6+deb13u2
1.7.1-6+deb13u3
jq
Debian:14
before 1.8.1-6, plus listed versions
1.8.0-11.8.1-11.8.1-21.8.1-31.8.1-41.8.1-5
1.8.1-6
jq
Mageia:10
before 1.8.2-1.mga10
1.8.2-1.mga10
jq
openEuler:20.03-LTS-SP4
before 1.8.0-4.oe2003sp4
1.8.0-4.oe2003sp4
jq
openEuler:22.03-LTS-SP4
before 1.8.0-4.oe2203sp4
1.8.0-4.oe2203sp4
jq
openEuler:24.03-LTS
before 1.8.0-4.oe2403
1.8.0-4.oe2403
jq
openEuler:24.03-LTS-SP3
before 1.8.0-4.oe2403sp3
1.8.0-4.oe2403sp3
jq
openEuler:24.03-LTS-SP1
before 1.8.0-4.oe2403sp1
1.8.0-4.oe2403sp1
jq
Red Hat:hummingbird:1
before 0:1.8.2-0.1.hum1
0:1.8.2-0.1.hum1
jq-devel
Red Hat:hummingbird:1
before 0:1.8.2-0.1.hum1
0:1.8.2-0.1.hum1
jq
SUSE:Linux Micro 6.2
before 1.7.1-160000.3.1
1.7.1-160000.3.1
jq
SUSE:Linux Enterprise Server 16.0
before 1.7.1-160000.3.1
1.7.1-160000.3.1
jq
SUSE:Linux Enterprise Server for SAP applications 16.0
before 1.7.1-160000.3.1
1.7.1-160000.3.1
jq
SUSE:Linux Micro 6.1
before 1.7.1-slfo.1.1_3.1
1.7.1-slfo.1.1_3.1
jq
SUSE:Linux Micro 6.0
before 1.7.1-1.1
1.7.1-1.1
jq
SUSE:Linux Enterprise Micro 5.3
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Micro 5.4
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Micro 5.5
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Module for Basesystem 15 SP7
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Server 15 SP4-LTSS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Server 15 SP5-LTSS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Server 15 SP6-LTSS
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
before 1.7.1-150000.3.25.1
1.7.1-150000.3.25.1
jq
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.2-81.3-11.3-1.1ubuntu11.3-1.1ubuntu1.11.3-1.1ubuntu1.1+esm31.3-1.1ubuntu1.1+esm4
None known
jq
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
1.4-2.11.5+dfsg-11.5+dfsg-1ubuntu0.11.5+dfsg-1ubuntu0.1+esm21.5+dfsg-1ubuntu0.1+esm31.5+dfsg-1ubuntu0.1+esm4
None known
jq
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
1.5+dfsg-21.5+dfsg-2ubuntu0.1~esm11.5+dfsg-2ubuntu0.1~esm21.5+dfsg-2ubuntu0.1~esm3
None known
jq
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
1.5+dfsg-2build11.6-11.6-1ubuntu0.20.04.11.6-1ubuntu0.20.04.1+esm11.6-1ubuntu0.20.04.1+esm21.6-1ubuntu0.20.04.1+esm3
None known
jq
Ubuntu:22.04:LTS
All versions, plus listed versions
1.6-2.1ubuntu21.6-2.1ubuntu31.6-2.1ubuntu3.11.6-2.1ubuntu3.2
None known
jq
Ubuntu:24.04:LTS
All versions, plus listed versions
1.6-31.7-11.7.1-21.7.1-31.7.1-3build11.7.1-3ubuntu0.24.04.11.7.1-3ubuntu0.24.04.2
None known
jq
Ubuntu:25.10
All versions, plus listed versions
1.7.1-3ubuntu11.7.1-6ubuntu11.8.1-3ubuntu11.8.1-3ubuntu1.1
None known
jq
Ubuntu:26.10
All versions, plus listed versions
1.8.1-4ubuntu11.8.2-1ubuntu1
None known
jq
Ubuntu:26.04:LTS
All versions, plus listed versions
1.8.1-3ubuntu11.8.1-4ubuntu11.8.1-4ubuntu2
None known
jq
openSUSE:Tumbleweed
before 1.8.1-3.1
1.8.1-3.1
jq
openSUSE:Leap 16.0
before 1.7.1-160000.3.1
1.7.1-160000.3.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-43894 is a medium vulnerability (CVSS 6.2) in Jqlang Jq, published May 11, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.16%, the 4th percentile. Fixed in jq 1.8.2-r0.

References

Show 115 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open