Description
zstd-jni versions 1.2.0 through 1.5.7-13 contain an out-of-bounds read vulnerability in the ZstdDictDecompress constructor because offset and length arguments are never validated against the dictionary array bounds. Attackers can supply arbitrary offset or length values to read memory past the end of the supplied array, potentially causing JVM termination.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| luben | zstd-jni | 1.2.0 – < 1.5.7-14 | 1.5.7-14 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | zstd-jni-java | 1.5.7-23+ds-1 | — |
| Debian 13 | zstd-jni-java | No fix yet | — |
| Debian 12 | zstd-jni-java | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | zstd-jni-java | No fix yet | — |
| Ubuntu 26.04 LTS | zstd-jni-java | No fix yet | — |
| Ubuntu 24.04 LTS | zstd-jni-java | No fix yet | — |
Advisories 1
- WID-SEC-2026-3791 IBM SPSS: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 8, 2026
References
- GitHub Issue #405 issue-tracking
- https://github.com/luben/zstd-jni product
- https://github.com/luben/zstd-jni/commit/b74ab242d640c40897e62aab4c744ddfad1f915f patch
- https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/ZstdDictDecompress.java#L49 technical-description
- zstd-jni v1.5.7-14 Release Notes release-notes
- https://github.com/luben/zstd-jni/blob/v1.2.0/src/main/java/com/github/luben/zstd/ZstdDictDecompress.java#L37 technical-description
- VulnCheck Advisory: zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictDecompress third-party-advisory