# CVE-2026-90560: zstd-jni out-of-bounds read in ZstdDictDecompress constructor

Source: https://junglewise.ai/threats/cve-2026-90560-zstd-jni-out-of-bounds-read-in-zstddictdecompress-constructor  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-12. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-90560 · Severity: high · CVSS 8.2 · Published 2026-09-12

zstd-jni is a Java library that provides compression/decompression functionality using the Zstandard algorithm. A flaw in the ZstdDictDecompress constructor fails to validate offset and length parameters against dictionary array bounds, allowing attackers to trigger out-of-bounds memory reads that can crash the Java Virtual Machine.

Technologies: [Luben Zstd-Jni](https://junglewise.ai/threats/technologies/zstd-jni). Vendors: [Luben](https://junglewise.ai/threats/vendors/luben).

## Quick answers

**Is CVE-2026-90560 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-90560 being exploited in the wild.

**How severe is CVE-2026-90560?** High severity, with a CVSS score of 8.2, published 12 September 2026.

**Which products and versions are affected?** Luben Zstd-Jni 1.2.0 through 1.5.7-13.

**Is there a fix for CVE-2026-90560?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-90560 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-90560?** Check whether you run Luben Zstd-Jni at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a classic out-of-bounds read (CWE-125) in the ZstdDictDecompress constructor. The root cause is insufficient input validation: offset and length arguments are never checked against the dictionary array bounds before being used. An attacker can supply arbitrary offset or length values to the constructor, causing the code to read past the end of the supplied array. This can result in memory corruption or JVM termination (denial of service). The vulnerability affects versions 1.2.0 through 1.5.7-13; versions 1.5.7-14 and later appear to have fixes applied. Network reachability depends on whether the affected application exposes this constructor to untrusted input.

## Affected products

- Luben zstd-jni 1.2.0 through 1.5.7-13

## Timeline

- 2026-09-12: disclosed

## References

- [https://repo1.maven.org/maven2/com/github/luben/zstd-jni/](https://repo1.maven.org/maven2/com/github/luben/zstd-jni/)
- [https://github.com/luben/zstd-jni](https://github.com/luben/zstd-jni)

## Related threats

- [luben zstd-jni use-after-free in Dictionary Sharing](https://junglewise.ai/threats/cve-2026-90852-luben-zstd-jni-use-after-free-in-dictionary-sharing)
- [zstd-jni input validation bypass in ZstdInputStreamNoFinalizer.read()](https://junglewise.ai/threats/cve-2026-89045-zstd-jni-input-validation-bypass-in-zstdinputstreamnofinalizer)
- [zstd-jni use-after-free in stream setter methods](https://junglewise.ai/threats/cve-2026-87877-zstd-jni-use-after-free-in-stream-setter-methods)
- [zstd-jni use-after-free in dictionary reference handling](https://junglewise.ai/threats/cve-2026-87825-zstd-jni-use-after-free-in-dictionary-reference-handling)
- [zstd-jni out-of-bounds buffer read in trainFromBufferDirect](https://junglewise.ai/threats/cve-2026-87824-zstd-jni-out-of-bounds-buffer-read-in-trainfrombufferdirect)
