rpm package
opensuse/jq&distro=openSUSE Leap 16.0
pkg:rpm/opensuse/jq&distro=openSUSE%20Leap%2016.0
Vulnerabilities (15)
| CVE | Sev | CVSS | KEV | Affected versions | Fixed in | Published | Description |
|---|---|---|---|---|---|---|---|
| CVE-2026-54679 | Med | 5.5 | < 1.7.1-160000.4.1 | 1.7.1-160000.4.1 | Jun 25, 2026 | 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-49839 | Hig | 7.1 | < 1.7.1-160000.4.1 | 1.7.1-160000.4.1 | Jun 25, 2026 | 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 appen | |
| CVE-2026-44777 | Med | 5.5 | < 1.7.1-160000.4.1 | 1.7.1-160000.4.1 | May 11, 2026 | 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-43896 | Med | 6.2 | < 1.7.1-160000.4.1 | 1.7.1-160000.4.1 | May 11, 2026 | 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-43894 | Med | 6.2 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | May 11, 2026 | 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 f | |
| CVE-2026-41257 | Med | 5.5 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | May 11, 2026 | 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 | |
| CVE-2026-41256 | Med | 5.5 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | May 11, 2026 | 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 t | |
| CVE-2026-40612 | Med | 5.5 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | May 11, 2026 | 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-40164 | Hig | 7.5 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | Apr 14, 2026 | jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supp | |
| CVE-2026-33948 | Med | 5.3 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | Apr 14, 2026 | jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead | |
| CVE-2026-39979 | Med | 6.5 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | Apr 13, 2026 | jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which r | |
| CVE-2026-39956 | Med | 6.1 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | Apr 13, 2026 | jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely | |
| CVE-2026-33947 | Med | 6.2 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | Apr 13, 2026 | jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An att | |
| CVE-2026-32316 | Hig | 8.2 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | Apr 13, 2026 | jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer o | |
| CVE-2025-48060 | Hig | 7.5 | < 1.7.1-160000.3.1 | 1.7.1-160000.3.1 | May 21, 2025 | jq is a command-line JSON processor. In versions up to and including 1.7.1, a heap-buffer-overflow is present in function `jv_string_vfmt` in the jq_fuzz_execute harness from oss-fuzz. This crash happens on file jv.c, line 1456 `void* p = malloc(sz);`. As of time of publication, |
- affected < 1.7.1-160000.4.1fixed 1.7.1-160000.4.1
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.
- affected < 1.7.1-160000.4.1fixed 1.7.1-160000.4.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 appen
- affected < 1.7.1-160000.4.1fixed 1.7.1-160000.4.1
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.
- affected < 1.7.1-160000.4.1fixed 1.7.1-160000.4.1
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.
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
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 f
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
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
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
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 t
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
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.
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supp
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which r
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An att
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer o
- affected < 1.7.1-160000.3.1fixed 1.7.1-160000.3.1
jq is a command-line JSON processor. In versions up to and including 1.7.1, a heap-buffer-overflow is present in function `jv_string_vfmt` in the jq_fuzz_execute harness from oss-fuzz. This crash happens on file jv.c, line 1456 `void* p = malloc(sz);`. As of time of publication,