ZeroHour

CVE-2026-90559

large5· 3 reads

Out-of-bounds write in snappy-java uncompress() enables remote JVM crash (DoS)

CVSS 4.0
8.7 high
EPSS
Published
()
Modified
AI analysis

snappy-java through 1.1.10.8 contains an out-of-bounds write (CWE-787) because Snappy.uncompress(ByteBuffer, ByteBuffer) never validates that the destination buffer's capacity can hold the decompressed output. An attacker who can supply compressed data to an application that calls this overload with a too-small destination buffer can send a valid Snappy stream that expands past the buffer's boundaries, causing out-of-bounds writes and terminating the JVM. The documented impact is denial of service — CVSS 4.0 rates it 8.7 (high) because it is remotely reachable with no privileges or user interaction and has high availability impact — although no confidentiality or integrity impact is documented. Any Java application embedding snappy-java up to and including 1.1.10.8 that decompresses untrusted input via this overload is affected, a pattern common in big-data middleware (e.g., Kafka, Spark, Hadoop, Cassandra) that links snappy-java as a dependency. No public proof of concept exists, the flaw is not on the CISA KEV, and no exploitation in the wild is known.

What to do: Upgrade snappy-java to the latest available release, since every version through 1.1.10.8 is vulnerable. If you cannot upgrade immediately, add a call-site check that the compressed stream's advertised uncompressed length does not exceed the destination buffer's capacity before invoking Snappy.uncompress(ByteBuffer, ByteBuffer), and reject oversized inputs. Audit services that accept Snappy-compressed payloads from untrusted clients — such as message brokers, RPC frameworks, and network decompression paths — as these represent the realistic attack surface.

Affected
Xerial (snappy-java open source project) snappy-javaAll versions through 1.1.10.8 (inclusive)
Estimated exposure
large≈tens of thousands of exploitable JVM services, with the library embedded far more widely — snappy-java is a common transitive dependency of big-data middleware and sees tens of millions of monthly Maven Central downloads, implying very large deployment counts, but only services that decompress attacker-controlled data through…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

snappy-java through 1.1.10.8 contains an out-of-bounds write vulnerability in Snappy.uncompress(ByteBuffer, ByteBuffer) because destination buffer capacity is never validated against decompressed size. Attackers can supply valid compressed data that decompresses larger than the destination buffer, causing writes past buffer boundaries and JVM termination.

Weakness
CWE-787
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/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

In the news

No ingested article mentions this CVE yet.