Snappy-java can overwrite memory when decompressing typed arrays
A data-compression library can be tricked into writing a few bytes past the end of a memory buffer when decompressing certain data. This can corrupt the program's memory and may crash it or cause unpredictable behavior.
| Severity | HighCVSS 7.5 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yesorg.xerial.snappy:snappy-java 1.1.10.9 · since 27 Oct 2026 |
| How sure is this? | Official sourceBacked by an official source |
How the attack works simplified
- 1Crafted inputAttacker supplies compressed data with odd byte length
- 2Typed decompress callApp calls uncompressIntArray or similar
- 3Out-of-bounds writeNative code writes up to 7 bytes past array end
- 4Heap corruptedAdjacent memory overwritten
- ResultHeap corruption, possible crash or misbehavior
What happened
In snappy-java, the uncompressCharArray, uncompressShortArray, uncompressIntArray, uncompressLongArray, uncompressFloatArray and uncompressDoubleArray methods size the output array by dividing the declared uncompressed byte length by the element size, but the native code writes the full byte length. When the declared length is not a multiple of the element size, up to 7 bytes are written past the end of the Java array, corrupting the heap.
Are you affected?
You are affected if you use org.xerial.snappy:snappy-java 1.1.10.8 or earlier and call any of the typed uncompress*Array methods on compressed input you do not fully control.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| org.xerial.snappy:snappy-java · maven | <= 1.1.10.8 | 1.1.10.9 |
What to do
- Update org.xerial.snappy:snappy-java to 1.1.10.9 or later
- If you cannot update yet, check that Snappy.uncompressedLength(input) is a multiple of the element size before calling the typed uncompress methods
Timeline
- 27 Oct 2026, 15:33 UTCPublicly disclosed
- 27 Oct 2026, 15:33 UTCReported by GitHub Advisory · GitHub Advisory
- 27 Oct 2026, 15:34 UTCPicked up by Zero Radar
Sources 1 report, oldest first
Official vendor, government CERT or advisory database
- snappy-java: Heap buffer overflow in Snappy.uncompress*Array typed-array methodsGitHub Advisory · 27 Oct 2026, 15:33 UTC
Technical details
- ID
- CVE-2026-93451 · GHSA-gwq9-9ffj-mvrv
- CVSS
- 7.5 / 10
- EPSS
- 0.3% chance of exploitation within 30 days
- Disclosed
- 27 Oct 2026, 15:33 UTC
- On Zero Radar
- 27 Oct 2026, 15:34 UTC (1 min after disclosure)
- Last change
- 27 Oct 2026, 15:34 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works