Description
zstd-jni before 1.5.7-14 contains a use-after-free vulnerability where streams and contexts hold a dictionary's shared lock only during the load call, allowing the dictionary to be closed while still referenced. Attackers can close a dictionary after associating it with a stream or context, causing subsequent read or write operations to access freed native memory, resulting in silent data corruption or JVM crashes.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| luben | zstd-jni | 1.3.8-4 – < 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 | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | zstd-jni | 1.5.7.16-160000.1.1 | SUSE-SU-2026:23868-1, SUSE-SU-2026:23858-1 |
| SLES 16.0 | zstd-jni | 1.5.7.16-160000.1.1 | SUSE-SU-2026:23868-1, SUSE-SU-2026:23858-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | zstd-jni | 1.5.7.16-1.1 | openSUSE-SU-2026:11769-1 |
| openSUSE Leap 16.0 | zstd-jni | 1.5.7.16-160000.1.1 | openSUSE-SU-2026:21902-1 |
Advisories 5
- WID-SEC-2026-3791 IBM SPSS: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 8, 2026
- SUSE-SU-2026:23858-1 Security update for zstd-jni SUSE / openSUSE Security Updates · Sep 27, 2026
- SUSE-SU-2026:23868-1 Security update for zstd-jni SUSE / openSUSE Security Updates · Sep 27, 2026
- openSUSE-SU-2026:21902-1 Security update for zstd-jni SUSE / openSUSE Security Updates · Sep 25, 2026
- openSUSE-SU-2026:11769-1 zstd-jni-1.5.7.16-1.1 on GA media SUSE / openSUSE Security Updates · Sep 13, 2026
References
- GitHub Security Advisory (GHSA-947w-pxjj-c7m9) vendor-advisory
- Fix commit: hold the dictionary shared lock for the stream's usage window patch
- Fix commit: cross-object lifetime tracking for dictionaries and contexts patch
- Shared lock released as soon as the dictionary is loaded at v1.5.7-13 technical-description
- Same lock lifecycle in the buffer stream base class at v1.5.7-13 technical-description
- zstd-jni v1.5.7-14 Release Notes release-notes
- Commit that made setDict load the dictionary eagerly into the native context (first released in 1.3.8-4) technical-description patch
- https://github.com/luben/zstd-jni product
- VulnCheck Advisory: zstd-jni 1.3.8-4 through 1.5.7-13 Use-After-Free of Compression and Decompression Dictionaries third-party-advisory