VRT 391,192 CVEs tracked · 15,442 in RASP scope · data as of 16 hours ago

CVE-2026-87823

8.8 High No exploit published

Published 6 days ago. NVD backfills CPE data for days or weeks after publication, and OSV and the exploit indexes lag too. Scope and status here may change.

Description

zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.

CWE-190 · Integer overflow

Exploitation Status

Proof of concept only

A proof of concept exists, but no reviewed exploit catalogue carries this CVE. Demonstrating a defect and weaponising it are different amounts of work.

CVSS E:P

  • CISA KEV not listed
  • CISA Vulnrichment exploitation: poc CISA concluded an exploit has been demonstrated, typically from a vendor advisory, which leaves no artifact to index. Automatable: yes, technical impact: partial.
  • Indexed PoC none indexed
  • EPSS 0.43% chance in 30 days

Waratek Defense Posture

No exploit published

In RASP's scope with an upstream fix path, but nobody has published a working exploit. That is a statement about what has been published, not a finding that the defect is unreachable or unimportant.

  • Protection none
  • Action unverified patch rule
  • Review automated upstream-data
  • Record active
Decided by no-exploit-published : A published working exploit for this candidate, not only a proof of concept, a forecast, or nothing at all
Finding This CVE is not listed in CISA KEV, CISA Vulnrichment records no active exploitation, and no reviewed exploit catalogue carries an entry for it. Nobody has published something a stranger can run, so it is not a candidate for a rule ahead of the ones where somebody has; an upstream fix path does exist, so the remediation half of the candidacy still holds. This is a statement about what has been published, not about whether the defect is reachable or serious.
Candidate fix https://github.com/luben/zstd-jni/commit/46dcb2a54c8b8f2ce2cad7187a7513f509c533ac : a commit: the change itself

CVSS

8.8 HIGH v4.0 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X 2 metrics

VRT selects the newest version's highest entry and publishes it as cvssScore, newest rather than largest because scores are not comparable across versions, and highest rather than first because the first entry is frequently a CNA placeholder scoring 0.0 over NVD's own analysis.

VersionScoreBandVectorAssignerType
CVSS 4.0 8.8 HIGH 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X disclosure@vulncheck.com Secondary published
CVSS 3.1 8.2 HIGH CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H disclosure@vulncheck.com Secondary

References

URLTags
https://github.com/luben/zstd-jni/commit/46dcb2a54c8b8f2ce2cad7187a7513f509c533ac commit
https://github.com/luben/zstd-jni
https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/Zstd.java
https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/native/jni_zstd.c
https://github.com/luben/zstd-jni/commit/d7a1c99322d5e1fc71932e722c0b5bb2fc525d3f
https://github.com/luben/zstd-jni/releases/tag/v1.5.7-14
https://github.com/luben/zstd-jni/security/advisories/GHSA-jfr6-9xqw-2g2q
https://www.vulncheck.com/advisories/zstd-jni-1.1.1-through-1.5.7-13-out-of-bounds-read-via-direct-bytebuffer-frame-size-methods

Timeline

Published 2026-09-09 Last modified 2026-09-09
Published2026-09-09By the CVE Program.
NVD record modified2026-09-09NVD's own last-modified date for this record.