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.
Published: 2026-09-09
Score: 7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The zstd-jni library contains a use–after–free condition where a compression or decompression stream retains a reference to a dictionary’s lock only during the load operation. If the dictionary object is closed thereafter, the lock is released while the stream still points to unmanaged memory. Subsequent read or write operations then dereference freed native memory, causing silent corruption of the processed data or a JVM crash, which compromises data integrity and availability.

Affected Systems

The vulnerability affects the zstd‑jni library distributed by the luben vendor. All releases from version 1.3.8‑4 through 1.5.7‑13 are impacted. Java applications that incorporate any of these releases—including dependency transitively used by other applications—are susceptible.

Risk and Exploitability

The CVSS score of 7 denotes a high severity vulnerability, but the EPSS score is unavailable, so public exploitation likelihood is unclear. The flaw is not listed in the CISA KEV catalog. Attackers would need control inside a JVM execution environment to close an in‑use dictionary; remote exploitation without that control is unlikely. Local exploitation can corrupt data or cause a denial of service by terminating the JVM.

Generated by OpenCVE AI on September 9, 2026 at 16:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the zstd‑jni library to version 1.5.7‑14 or later, where the dictionary lock handling has been corrected.
  • Ensure that dictionary objects are not closed while any active stream or context is using them; maintain the dictionary alive until all compression or decompression operations complete.
  • After applying the fix or adjusting the code, re‑test the application for data integrity and monitor the JVM for crashes or abnormal exception logs.

Generated by OpenCVE AI on September 9, 2026 at 16:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 09 Sep 2026 14:45:00 +0000

Type Values Removed Values Added
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.
Title zstd-jni 1.3.8-4 through 1.5.7-13 Use-After-Free of Compression and Decompression Dictionaries
Weaknesses CWE-416
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H'}

cvssV4_0

{'score': 7, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-09T14:32:44.795Z

Reserved: 2026-09-09T10:32:34.110Z

Link: CVE-2026-87825

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-09T15:17:27.903

Modified: 2026-09-09T15:17:27.903

Link: CVE-2026-87825

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-09T16:45:13Z

Weaknesses