CVE-2026-87825: Use After Free in luben zstd-jni
Affects luben zstd-jniSource CVE Database V5
Not known to be exploited · CVSS 7.0 High · fixed in 1.5.7 : patch luben zstd-jni soon.
Data as of 10/24/2026, 22:16:05 UTC
- Exploitation
Not in CISA KEV, no exploitation reported
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 8% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 1.5.7
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:NWhat to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| lubenzstd-jni | Affected
| Fixed in
|
Mavenluben/zstd-jnipkg:maven/luben/zstd-jniOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in zstd-jni version 1.5.7-14. Users should upgrade to version 1.5.7-14 or later to remediate this vulnerability. No additional mitigation steps are indicated.
Description
CVE-2026-87825 is a use-after-free vulnerability in zstd-jni before version 1.5.7-14. The issue arises because streams and contexts only hold a dictionary's shared lock during the load call, allowing the dictionary to be closed while still referenced. This can lead to subsequent operations accessing freed native memory, causing silent data corruption or JVM crashes.
Impact
Exploitation of this vulnerability can cause silent data corruption or crashes of the Java Virtual Machine (JVM) due to use-after-free memory access. This can affect application stability and data integrity when using vulnerable versions of zstd-jni.
References
- github.com/luben/zstd-jni/security/advisories/GHSA-947w-pxjj-c7m9 (opens in a new tab)
- github.com/luben/zstd-jni/commit/393d7311766abbc285b149302c0fe1f94b16d555 (opens in a new tab)
- github.com/luben/zstd-jni/commit/a560131d7834598afd9cea6b7c107bc88e915936 (opens in a new tab)
- github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/ZstdInputStreamNoFinalizer.java (opens in a new tab)
- github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/BaseZstdBufferDecompressingStreamNoFinalizer.java (opens in a new tab)
- github.com/luben/zstd-jni/releases/tag/v1.5.7-14 (opens in a new tab)
- github.com/luben/zstd-jni/commit/0827ed02551bbd8d6f8e4bbff99d83bf50f91938 (opens in a new tab)
- github.com/luben/zstd-jni (opens in a new tab)
- vulncheck.com/advisories/zstd-jni-1.3.8-4-through-1.5.7-13-use-after-free-of-compression-and-decompression-dictionaries (opens in a new tab)