ZeroHour

CVE-2026-89046

mass

Out-of-Bounds Read in zstd-jni Java Compression Library

CVSS 4.0
8.8 high
EPSS
Published
()
Modified
AI analysis

zstd-jni, the widely used Java JNI binding for the Zstandard (zstd) compression library, contains an out-of-bounds read (CWE-125) in the Zstd.getFrameContentSize method. The method fails to validate negative srcPosition arguments, allowing an out-of-range offset to bypass bounds checks and reach the native frame-header parser, which reads memory outside the intended source buffer. An attacker who can control the position argument passed by an application can disclose adjacent memory contents or crash the JVM, causing a denial of service. Any Java/JVM application or server that bundles an affected zstd-jni release (1.5.5-6 through 1.5.7-13) and calls this API with attacker-influenced offsets is affected. There is currently no evidence of in-the-wild exploitation, no known public proof-of-concept, and the issue is not listed in CISA's KEV.

What to do: Upgrade to a zstd-jni release newer than 1.5.7-13 as soon as a patched version is published. Until then, audit your dependency trees (e.g., mvn dependency:tree or gradle dependencies) for affected versions and validate or clamp srcPosition arguments before calling Zstd.getFrameContentSize, ensuring negative offsets are never passed through. Prioritize environments where untrusted input can influence decompression calls.

Affected
zstd-jni (open-source project) zstd-jni (Java JNI bindings for Zstandard)1.5.5-6 through 1.5.7-13 (inclusive)
Estimated exposure
massmillions of Java/JVM applications and servers bundling zstd-jni as a Maven/Gradle dependency — zstd-jni is a heavily downloaded Maven Central artifact and is bundled in major JVM platforms such as Apache Kafka, Elasticsearch and Hadoop, putting potential deployments in the millions, though only code paths that call…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

zstd-jni versions 1.5.5-6 through 1.5.7-13 contain an out-of-bounds read vulnerability in Zstd.getFrameContentSize that fails to validate negative srcPosition arguments. Attackers can supply negative offset values that bypass bounds checks and reach the native frame-header parser, causing out-of-bounds memory reads that lead to information disclosure or JVM crashes.

Weakness
CWE-125
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.