OESA-2026-2805

Source
https://www.openeuler.org/en/security/security-bulletins/detail/?id=openEuler-SA-2026-2805
Import Source
https://repo.openeuler.org/security/data/osv/OESA-2026-2805.json
JSON Data
https://api.osv.dev/v1/vulns/OESA-2026-2805
Upstream
Published
2026-07-06T06:26:00Z
Modified
2026-07-06T06:45:09.855194966Z
Summary
jq security update
Details

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 jvparrayequal() and jvequal() in src/jv.c when comparing deeply nested arrays; a nearby sort comparator path through jvcmp() 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 jvloadfile(raw=1) reads an attacker-controlled file, it repeatedly appends file chunks to the same jv string accumulator. Once jvstringappendbuf() returns jvinvalidwithmsg("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 jvpstringptr(). 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, jvpstringappend 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)

Database specific
{
    "severity": "High"
}
References

Affected packages

openEuler:24.03-LTS-SP3 / jq

Package

Name
jq
Purl
pkg:rpm/openEuler/jq&distro=openEuler-24.03-LTS-SP3

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.8.2-1.oe2403sp3

Ecosystem specific

{
    "x86_64": [
        "jq-1.8.2-1.oe2403sp3.x86_64.rpm",
        "jq-debuginfo-1.8.2-1.oe2403sp3.x86_64.rpm",
        "jq-debugsource-1.8.2-1.oe2403sp3.x86_64.rpm",
        "jq-devel-1.8.2-1.oe2403sp3.x86_64.rpm"
    ],
    "aarch64": [
        "jq-1.8.2-1.oe2403sp3.aarch64.rpm",
        "jq-debuginfo-1.8.2-1.oe2403sp3.aarch64.rpm",
        "jq-debugsource-1.8.2-1.oe2403sp3.aarch64.rpm",
        "jq-devel-1.8.2-1.oe2403sp3.aarch64.rpm"
    ],
    "noarch": [
        "jq-help-1.8.2-1.oe2403sp3.noarch.rpm"
    ],
    "src": [
        "jq-1.8.2-1.oe2403sp3.src.rpm"
    ]
}

Database specific

source
"https://repo.openeuler.org/security/data/osv/OESA-2026-2805.json"