Every CVE Search/ Get API key

CVE-2026-49839

jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow

7.1 HighFix available

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
High

Exploit likelihood

0.17%Up 0.2 points since Jun 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.1

jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Weakness
CWE-787
Updated
2026-11-02
EUVDEUVD-2026-39500 7.1

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
EUVD-2026-39500
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
NVD 7.1

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Weakness
CWE-787
Updated
2026-11-02
OSVALPINE-CVE-2026-49839 7.1

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
ALPINE-CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVBELL-CVE-2026-49839 7.1
Record
BELL-CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSV 7.1

jq --rawfile invalid-state reuse after String too long causes heap-buffer-overflow

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Weakness
CWE-787
Updated
2026-11-02
Show 19 moreShow less
OSVDEBIAN-CVE-2026-49839 7.1

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
DEBIAN-CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVOESA-2026-2803 7.1

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. Prior to 1.8.2, comparing two sufficiently deeply nested arrays with the == operator exhausts the C stack on jq's ordinary command-line surface, resulting in denial of service via stack exhaustion (uncontrolled recursion). The crash occurs in jq's recursive structural comparison code, with the recursion repeating through jvp_array_equal() and jv_equal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jv_cmp() in src/jv_aux.c overflows the stack at a larger nesting depth from the same missing recursion guard. Anyone running jq comparisons on attacker-controlled deeply nested JSON values, or embedding jq in a context where untrusted data can reach the == comparison path, is affected. This vulnerability is fixed in 1.8.2.(CVE-2026-47770)

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.(CVE-2026-49839)

jq is a command-line JSON processor. Prior to 1.8.2, on 32bit system, jvp_string_append has a chance of integer/multiple overflowing and then causing a massive buffer overrun. This vulnerability is fixed in 1.8.2.(CVE-2026-54679)

Record
OESA-2026-2803
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVOESA-2026-2804 7.1

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. Prior to 1.8.2, comparing two sufficiently deeply nested arrays with the == operator exhausts the C stack on jq's ordinary command-line surface, resulting in denial of service via stack exhaustion (uncontrolled recursion). The crash occurs in jq's recursive structural comparison code, with the recursion repeating through jvp_array_equal() and jv_equal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jv_cmp() in src/jv_aux.c overflows the stack at a larger nesting depth from the same missing recursion guard. Anyone running jq comparisons on attacker-controlled deeply nested JSON values, or embedding jq in a context where untrusted data can reach the == comparison path, is affected. This vulnerability is fixed in 1.8.2.(CVE-2026-47770)

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.(CVE-2026-49839)

jq is a command-line JSON processor. Prior to 1.8.2, on 32bit system, jvp_string_append has a chance of integer/multiple overflowing and then causing a massive buffer overrun. This vulnerability is fixed in 1.8.2.(CVE-2026-54679)

Record
OESA-2026-2804
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVOESA-2026-2805 7.1

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. Prior to 1.8.2, comparing two sufficiently deeply nested arrays with the == operator exhausts the C stack on jq's ordinary command-line surface, resulting in denial of service via stack exhaustion (uncontrolled recursion). The crash occurs in jq's recursive structural comparison code, with the recursion repeating through jvp_array_equal() and jv_equal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jv_cmp() in src/jv_aux.c overflows the stack at a larger nesting depth from the same missing recursion guard. Anyone running jq comparisons on attacker-controlled deeply nested JSON values, or embedding jq in a context where untrusted data can reach the == comparison path, is affected. This vulnerability is fixed in 1.8.2.(CVE-2026-47770)

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.(CVE-2026-49839)

jq is a command-line JSON processor. Prior to 1.8.2, on 32bit system, jvp_string_append has a chance of integer/multiple overflowing and then causing a massive buffer overrun. This vulnerability is fixed in 1.8.2.(CVE-2026-54679)

Record
OESA-2026-2805
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVOESA-2026-2806 7.1

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. Prior to 1.8.2, comparing two sufficiently deeply nested arrays with the == operator exhausts the C stack on jq's ordinary command-line surface, resulting in denial of service via stack exhaustion (uncontrolled recursion). The crash occurs in jq's recursive structural comparison code, with the recursion repeating through jvp_array_equal() and jv_equal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jv_cmp() in src/jv_aux.c overflows the stack at a larger nesting depth from the same missing recursion guard. Anyone running jq comparisons on attacker-controlled deeply nested JSON values, or embedding jq in a context where untrusted data can reach the == comparison path, is affected. This vulnerability is fixed in 1.8.2.(CVE-2026-47770)

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.(CVE-2026-49839)

jq is a command-line JSON processor. Prior to 1.8.2, on 32bit system, jvp_string_append has a chance of integer/multiple overflowing and then causing a massive buffer overrun. This vulnerability is fixed in 1.8.2.(CVE-2026-54679)

Record
OESA-2026-2806
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/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-49839 7.1

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
UBUNTU-CVE-2026-49839
CVSS 3.1
7.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVAZL-90267 No score

CVE-2026-49839 affecting package jq for versions less than 1.7.1-8

jq is a command-line JSON processor. Prior to 1.8.2, jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds. When jv_load_file(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jv_string_append_buf() returns jv_invalid_with_msg("String too long"), the raw-file loop does not stop. If the file contains at least one more byte, the next loop iteration appends a new chunk to an object that is already invalid. With assertions enabled this aborts in jvp_string_ptr(). With assertions disabled, the invalid object is interpreted as a string object and ASan reports heap-buffer-overflow. This vulnerability is fixed in 1.8.2.

Record
AZL-90267
Updated
2026-11-02
OSVCLSA-2026-1783339505 No score

jq: Fix of 2 CVEs

  • CVE-2026-49839: fix heap-buffer-overflow in raw file loading
Record
CLSA-2026-1783339505
Updated
2026-11-02
OSVCLSA-2026-1783340505 No score

jq: Fix of 2 CVEs

  • CVE-2026-49839: break out of the raw file load loop when jv_string_append_buf returns an invalid value to prevent a heap-buffer-overflow
Record
CLSA-2026-1783340505
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:11133-1 No score

jq-1.8.2-1.1 on GA media

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

Record
openSUSE-SU-2026:11133-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21318-1 No score

Security update for jq

This update for jq fixes the following issues

  • 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-49839: fixed a bug where jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds (bsc#1269220).
  • CVE-2026-54679: integer overflow in jvp_string_append can lead to a buffer overrun on 32-bit systems (bsc#1269390).
Record
openSUSE-SU-2026:21318-1
Updated
2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-49839 No score

CVE-2026-49839 in rootio-jq - Patched by Root

Root has patched CVE-2026-49839 in the rootio-jq package for Root:Debian:12. Multiple fixed versions available.

Record
ROOT-OS-DEBIAN-12-CVE-2026-49839
Updated
2026-11-02
OSVSUSE-SU-2026:22597-1 No score

Security update for jq

This update for jq fixes the following issues

  • 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-49839: fixed a bug where jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds (bsc#1269220).
  • CVE-2026-54679: integer overflow in jvp_string_append can lead to a buffer overrun on 32-bit systems (bsc#1269390).
Record
SUSE-SU-2026:22597-1
Updated
2026-11-02
OSVSUSE-SU-2026:22637-1 No score

Security update for jq

This update for jq fixes the following issues

  • 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-49839: fixed a bug where jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds (bsc#1269220).
  • CVE-2026-54679: integer overflow in jvp_string_append can lead to a buffer overrun on 32-bit systems (bsc#1269390).
Record
SUSE-SU-2026:22637-1
Updated
2026-11-02
OSVSUSE-SU-2026:22900-1 No score

Security update for jq

This update for jq fixes the following issues

  • 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-49839: fixed a bug where jq --rawfile can turn a handled oversized-string error into invalid-state reuse and a real heap out-of-bounds write in assertion-disabled builds (bsc#1269220).
  • CVE-2026-54679: integer overflow in jvp_string_append can lead to a buffer overrun on 32-bit systems (bsc#1269390).
Record
SUSE-SU-2026:22900-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
before 1.7.1-8
1.7.1-8
jq
Alpaquita:stream
1.6-r1 up to 1.8.2-r0
1.8.2-r0
jq
TuxCare:AlmaLinux:9.6
before 1.6-17.el9_6.2.tuxcare.els6
1.6-17.el9_6.2.tuxcare.els6
jq-devel
TuxCare:AlmaLinux:9.6
before 1.6-17.el9_6.2.tuxcare.els6
1.6-17.el9_6.2.tuxcare.els6
jq
TuxCare:AlmaLinux:9.2
before 1.6-14.el9_2.tuxcare.els9
1.6-14.el9_2.tuxcare.els9
jq-devel
TuxCare:AlmaLinux:9.2
before 1.6-14.el9_2.tuxcare.els9
1.6-14.el9_2.tuxcare.els9
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
Show 39 moreShow less
Affected packages
PackageAffectedFixed
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-8, plus listed versions
1.8.0-11.8.1-11.8.1-21.8.1-31.8.1-41.8.1-51.8.1-61.8.1-7
1.8.1-8
jq
Mageia:10
before 1.8.2-1.mga10
1.8.2-1.mga10
jq
openEuler:22.03-LTS-SP4
before 1.8.2-1.oe2203sp4
1.8.2-1.oe2203sp4
jq
openEuler:24.03-LTS-SP1
before 1.8.2-1.oe2403sp1
1.8.2-1.oe2403sp1
jq
openEuler:24.03-LTS-SP3
before 1.8.2-1.oe2403sp3
1.8.2-1.oe2403sp3
jq
openEuler:20.03-LTS-SP4
before 1.8.2-1.oe2003sp4
1.8.2-1.oe2003sp4
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.4.1
1.7.1-160000.4.1
jq
SUSE:Linux Enterprise Server 16.0
before 1.7.1-160000.4.1
1.7.1-160000.4.1
jq
SUSE:Linux Enterprise Server for SAP applications 16.0
before 1.7.1-160000.4.1
1.7.1-160000.4.1
jq
SUSE:Linux Micro 6.1
before 1.7.1-slfo.1.1_4.1
1.7.1-slfo.1.1_4.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.2-1.1
1.8.2-1.1
jq
openSUSE:Leap 16.0
before 1.7.1-160000.4.1
1.7.1-160000.4.1

History

History
RecordedChangedSources
affected
affected, aliases, published, referencesEUVD
first indexedCVE List, NVD, OSV

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

In short

CVE-2026-49839 is a high vulnerability (CVSS 7.1) in Jqlang Jq, published June 13, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.17%, the 5th percentile. Fixed in jq 1.8.2-r0.

References

Show 106 moreShow less
This page doesn't list everything

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

MoveEnter Open