CVE-2026-116590 · GHSA-xqrx-qh46-34m7
snappy-java: JVM crash from unchecked ranges in Snappy.arrayCopy and SnappyOutputStream.rawWrite
- Risk score
- 40/100
- CVSS
- 5.9 v3.1
- Published
- 26 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- snappy-java is a Java port of the snappy, a fast C++ compresser/decompresser developed by Google. Prior to 1.1.10.9, Snappy.arrayCopy(Object src, int offset, int byteLength, Object dest, int destOffset) passes caller-supplied ranges to native memcpy without validating either array, allowing negative or oversized byteL…
- Affected
- org.xerial.snappy:snappy-java (maven) <= 1.1.10.8
- Fix
- Upgrade org.xerial.snappy:snappy-java to 1.1.10.9 or later.
- Exploitation
- No known exploitation
Story map
At a glance
org.xerial.snappy:snappy-java: Amber, patch this week. Xerial snappy-java before 1.1.10.9 contains an unbounded memory allocation vulnerability that allows attackers to exhaust JVM memory by declaring a large uncompressed length in compressed input. Attackers can supply a few crafted bytes to Snappy.uncompress, uncompressString, SnappyInputStream or SnappyFramedInputStrea…
The flaws
- CVE-2026-116590: Snappy-java: JVM crash from unchecked ranges in Snappy.arrayCopy and SnappyOutputStream.rawWrite (CVSS 5.9)
- CVE-2026-108106: Snappy-java: Unbounded memory allocation from attacker-declared uncompressed lengtha (CVSS 7.5 · EPSS 0%)
- CVE-2026-93451: Snappy-java: Heap buffer overflow in Snappy.uncompress*Array typed-array methods (CVSS 6.5 · EPSS 1%)
The fix
Upgrade org.xerial.snappy:snappy-java: 1.1.10.9 or later on your release line
Who is exposed: org.xerial.snappy:snappy-java (maven) <= 1.1.10.8
Where it stands
- No known exploitation
Connects to
- Same weakness: CWE-129 (CWE-129). 32 other warnings in 30 days
Why it is Yellow
- CVSS 5.9 medium
- On your watchlist: Maven
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| org.xerial.snappy:snappy-java | maven | <= 1.1.10.8 | 1.1.10.9 |
References
- https://github.com/xerial/snappy-java/commit/2d7ca71c087a98f1219fb2d51909f3891c3ce77b
- https://github.com/xerial/snappy-java/pull/741
- https://github.com/xerial/snappy-java/releases/tag/v1.1.10.9
- https://github.com/xerial/snappy-java/security/advisories/GHSA-xqrx-qh46-34m7
- https://github.com/advisories/GHSA-xqrx-qh46-34m7
- https://nvd.nist.gov/vuln/detail/CVE-2026-116590
- https://github.com/advisories/GHSA-xqrx-qh46-34m7
Original description
snappy-java is a Java port of the snappy, a fast C++ compresser/decompresser developed by Google. Prior to 1.1.10.9, Snappy.arrayCopy(Object src, int offset, int byteLength, Object dest, int destOffset) passes caller-supplied ranges to native memcpy without validating either array, allowing negative or oversized byteLength and offset values to read or write outside array bounds and crash the JVM. SnappyOutputStream.rawWrite and SnappyInputStream.rawRead, including their typed-array write and read methods, pass caller-controlled ranges through this primitive, and typed-array byte-size calculations can overflow int. This issue is fixed in version 1.1.10.9.
Last activity 27 Oct 2026. Patch Forecast updates every hour.