zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.
https://github.com/luben/zstd-jni/security/advisories/GHSA-jfr6-9xqw-2g2q
https://github.com/luben/zstd-jni/releases/tag/v1.5.7-14
https://github.com/luben/zstd-jni/commit/d7a1c99322d5e1fc71932e722c0b5bb2fc525d3f
https://github.com/luben/zstd-jni/commit/46dcb2a54c8b8f2ce2cad7187a7513f509c533ac
https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/native/jni_zstd.c
https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/Zstd.java
Published: 2026-09-09
Updated: 2026-09-09
Base Score: 8.5
Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:C
Severity: High
Base Score: 8.2
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
Severity: High
Base Score: 8.8
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
Severity: High
EPSS: 0.00432