CVE-2026-89045

Source
https://cve.org/CVERecord?id=CVE-2026-89045
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89045.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-89045
Aliases
  • GHSA-9jx2-gfp9-phfm
Downstream
CLEANSTART (5)
DEBIAN (1)
UBUNTU (1)
Published
2026-09-10T17:39:34Z
Modified
2026-10-21T10:48:48Z
Severity
  • 5.1 (Medium) CVSS_V4 - CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N CVSS Calculator
Summary
zstd-jni 1.4.8-4 through 1.5.7-13 Denial of Service via Negative Length
Details

zstd-jni versions 1.4.8-4 through 1.5.7-13 fail to validate negative length parameters in ZstdInputStreamNoFinalizer.read(), allowing attackers to trigger infinite loops. Attackers can pass negative length values to cause the read method to spin indefinitely while holding the stream monitor, blocking all other threads from accessing the stream.

Database specific
{
    "cna_assigner":  "VulnCheck",
    "cwe_ids":  [
        "CWE-835"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89045.json"
}
References

Affected packages

Git / github.com/luben/zstd-jni

Affected ranges

Type
GIT
Repo
https://github.com/luben/zstd-jni
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "1.4.8-4"
                },
                {
                    "fixed":  "1.5.7-14"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StandardRange"
        },
        {
            "range":  [
                {
                    "fixed":  "dd08685ef913a32e76fb27f43470035c06758646"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "v1.5.7-14",
            "range":  [
                {
                    "fixed":  "3216860eea289fbbae0b191c0a4fd8b72dad949c"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}

Affected versions

b1.*
b1.5.5-9
c1.*
c1.5.2-5
v.*
v.1.5.5-5
v1.*
v1.4.8-4
v1.4.8-5
v1.4.8-6
v1.4.8-7
v1.4.9-1
v1.4.9-2
v1.4.9-3
v1.4.9-4
v1.4.9-5
v1.5.0-1
v1.5.0-2
v1.5.0-3
v1.5.0-4
v1.5.0-5
v1.5.1-1
v1.5.2-1
v1.5.2-2
v1.5.2-3
v1.5.4-1
v1.5.4-2
v1.5.5-1
v1.5.5-10
v1.5.5-11
v1.5.5-2
v1.5.5-3
v1.5.5-6
v1.5.5-7
v1.5.5-8
v1.5.5-9
v1.5.6-1
v1.5.6-10
v1.5.6-2
v1.5.6-3
v1.5.6-4
v1.5.6-5
v1.5.6-6
v1.5.6-7
v1.5.6-8
v1.5.6-9
v1.5.7-1
v1.5.7-11
v1.5.7-12
v1.5.7-13
v1.5.7-2
v1.5.7-3
v1.5.7-4
v1.5.7-5
v1.5.7-6
v1.5.7-7
v1.5.7-8
v1.5.7-9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89045.json"
vanir_signatures
[
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "163176608967625549994170912083350052708",
            "length":  1247
        },
        "id":  "CVE-2026-89045-0e6351b1",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/dd08685ef913a32e76fb27f43470035c06758646",
        "target":  {
            "file":  "src/main/java/com/github/luben/zstd/ZstdInputStreamNoFinalizer.java",
            "function":  "readInternal"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "275344359314977493472007285396485056640",
                "316115599886286568013794359884890253216",
                "328365001249078288697268689154984735391",
                "77109289481455660233837093926009184496",
                "281158973307557163285491085635681886556",
                "196666546266696328670111300416738615163",
                "282190412522647678512867538625156258374",
                "77109289481455660233837093926009184496"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-89045-11373d9d",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/dd08685ef913a32e76fb27f43470035c06758646",
        "target":  {
            "file":  "src/main/java/com/github/luben/zstd/ZstdInputStreamNoFinalizer.java"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "319696483832917712384682231278816072707",
            "length":  525
        },
        "id":  "CVE-2026-89045-44dbbae1",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/3216860eea289fbbae0b191c0a4fd8b72dad949c",
        "target":  {
            "file":  "src/main/native/jni_zstd.c",
            "function":  "Java_com_github_luben_zstd_Zstd_getDirectByteBufferFrameContentSize"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "155532999205049707381413023812283718478",
            "length":  393
        },
        "id":  "CVE-2026-89045-457fa880",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/dd08685ef913a32e76fb27f43470035c06758646",
        "target":  {
            "file":  "src/main/java/com/github/luben/zstd/ZstdInputStreamNoFinalizer.java",
            "function":  "read"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "242983979289756636978174893894911169283",
                "157823411836278810979700492519583258858",
                "47982388172284482667079231190836641912",
                "142002538935986523140505977783435642687",
                "70654406038950244899492554068964697791",
                "256841266079176367404669460587415964017",
                "136130365917502750732790875301653462261",
                "307914870517560413069750160813139035083",
                "70654406038950244899492554068964697791",
                "256841266079176367404669460587415964017",
                "136130365917502750732790875301653462261",
                "307914870517560413069750160813139035083"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-89045-cf1cd55a",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/3216860eea289fbbae0b191c0a4fd8b72dad949c",
        "target":  {
            "file":  "src/main/native/jni_zstd.c"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "25964609007207720573219828689431886815",
                "267179681871520588723005531219984946856",
                "6472292023347682294147855619261434597",
                "244873686192727136384730960862444043219",
                "202915855663704198324274501629805830116",
                "149564327435357576627198027098710263601",
                "334033398233812454627262090002625548035"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-89045-e37dfadc",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/dd08685ef913a32e76fb27f43470035c06758646",
        "target":  {
            "file":  "src/main/java/com/github/luben/zstd/Zstd.java"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "6130561471615133004258603361745015963",
            "length":  503
        },
        "id":  "CVE-2026-89045-e402cad3",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/3216860eea289fbbae0b191c0a4fd8b72dad949c",
        "target":  {
            "file":  "src/main/native/jni_zstd.c",
            "function":  "Java_com_github_luben_zstd_Zstd_findDirectByteBufferFrameCompressedSize"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "243452810049814927721413726162029308560",
            "length":  552
        },
        "id":  "CVE-2026-89045-e43e017d",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/luben/zstd-jni/commit/3216860eea289fbbae0b191c0a4fd8b72dad949c",
        "target":  {
            "file":  "src/main/native/jni_zstd.c",
            "function":  "Java_com_github_luben_zstd_Zstd_decompressedDirectByteBufferSize"
        }
    }
]
vanir_signatures_modified
"2026-10-21T10:48:48Z"