CVE-2026-87795

zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictCompress

Published Sep 9, 2026 CVSS 4.0 · 8.8 High EPSS < 1% KEV · Not listed
Description
zstd-jni versions before 1.5.7-14 fail to validate offset and length parameters in the ZstdDictCompress constructor, allowing out-of-bounds memory reads. Attackers can supply untrusted offset or length values to read native heap memory into the compression dictionary, typically causing JVM crashes.

Analysis

AI-generated

Technical impact

The vulnerability lies in the zstd-jni library’s ZstdDictCompress constructor, which does not validate the offset and length parameters supplied when creating a compression dictionary. An attacker providing untrusted offset or length values can cause the native library to read beyond the allocated memory, exposing native heap data and frequently resulting in Java Virtual Machine crashes. The weakness is categorized as CWE-125, an Out-of-Bounds Read.

Affected Systems

This flaw affects the zstd-jni Java bindings, specifically all releases from 1.2.0 up to and including 1.5.7-13. Versions 1.5.7-14 and newer contain the required validation and are considered safe.

Risk and Exploitability

The CVSS score of 8.8 marks this issue as a high severity vulnerability. Exploitability details are limited; the EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. The most likely attack vector requires an attacker to supply controlled input to the ZstdDictCompress constructor, which generally implies local or application-level exploitation. While it does not provide immediate remote code execution, the ability to read arbitrary native memory and trigger JVM crashes can lead to denial of service and potential leakage of sensitive data stored on the heap.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the zstd-jni library to version 1.5.7-14 or later, which implements proper offset and length validation.
  • Modify application code to reject or bound‑check any externally supplied offset and length values before passing them to ZstdDictCompress.
  • If a rapid patch is not available, temporarily disable or refactor the application code to avoid instantiating ZstdDictCompress until the vulnerability is fixed.

Generated by OpenCVE AI on September 9, 2026 at 11:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Luben
Luben zstd-jni
Vendors & Products Luben
Luben zstd-jni
Type Values Removed Values Added
Description zstd-jni versions before 1.5.7-14 fail to validate offset and length parameters in the ZstdDictCompress constructor, allowing out-of-bounds memory reads. Attackers can supply untrusted offset or length values to read native heap memory into the compression dictionary, typically causing JVM crashes.
Title zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictCompress
Weaknesses CWE-125
References
Metrics cvssV3_1

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

cvssV4_0

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

Weaknesses

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Sep 14, 2026, 1:02 PM
Reserved
Sep 9, 2026, 9:37 AM
Status
Awaiting Analysis
Published
Sep 9, 2026, 10:22 AM
Modified
Sep 14, 2026, 1:19 PM
Severity
Important
Public date
Sep 9, 2026, 10:07 AM