Vulnerability · Published Sep 9, 2026 · Assigned by VulnCheck
CVE-2026-87823zstd-jni 1.1.1 through 1.5.7-13 Out-of-Bounds Read via Direct ByteBuffer Frame-Size Methods
High 8.2
In plain English
A high-severity integer overflow in zstd-jni from luben. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 38% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | zstd-jni-java | no fix listed | DEBIAN-CVE-2026-87823 |
| Debian:13 | zstd-jni-java | no fix listed | DEBIAN-CVE-2026-87823 |
| Debian:14 | zstd-jni-java | 1.5.7-23+ds-1 | DEBIAN-CVE-2026-87823 |
| Ubuntu:24.04:LTS | zstd-jni-java | no fix listed | UBUNTU-CVE-2026-87823 |
| Ubuntu:26.04:LTS | zstd-jni-java | no fix listed | UBUNTU-CVE-2026-87823 |
| Ubuntu:26.10 | zstd-jni-java | no fix listed | UBUNTU-CVE-2026-87823 |
Affected products (as reported)
Weakness: CWE-190 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
References
- GitHub Security Advisory (GHSA-jfr6-9xqw-2g2q) vendor-advisory
- Fix commit: reject negative offset and size in the three direct-ByteBuffer natives patch
- Unchecked 32-bit bounds tests at v1.5.7-13 technical-description
- Native declarations with no Java-side validation at v1.5.7-13 technical-description
- zstd-jni v1.5.7-14 Release Notes release-notes
- Commit that introduced the unchecked direct-ByteBuffer size natives (first released in 1.1.1) technical-description, patch
- https://github.com/luben/zstd-jni product
- VulnCheck Advisory: zstd-jni 1.1.1 through 1.5.7-13 Out-of-Bounds Read via Direct ByteBuffer Frame-Size Methods third-party-advisory