CVE-2026-93451: snappy-java · Heap buffer overflow in Snappy.uncompress*Array typed-array methods
Affects org.xerial.snappy:snappy-javaSource GCVE Database
Not known to be exploited · CVSS 6.9 Medium : upgrade to 1.1.10.9 when convenient.
Data as of 27 Oct 2026, 16:29 UTC
- Patch
- Available – fixed in 1.1.10.9
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 18 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade org.xerial.snappy:snappy-java to 1.1.10.9.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Mavenorg.xerial.snappy:snappy-java | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade to snappy-java version 1.1.10.9 or later, which includes a fix that rejects uncompressed lengths not multiples of the element size by throwing a SnappyIOException. As a workaround, before calling the uncompress typed-array methods, verify that the uncompressed length returned by Snappy.uncompressedLength(input) is a multiple of the element size to avoid triggering the overflow.
Description
A heap buffer overflow vulnerability exists in the Snappy.uncompress*Array typed-array methods of snappy-java before version 1.1.10.9. The issue arises because the methods size the result array by dividing the declared uncompressed byte length by the element size, but native code writes the full byte length, potentially writing up to 7 bytes past the end of the Java array if the length is not a multiple of the element size. This heap corruption can lead to application instability or crashes. The vulnerability is fixed in version 1.1.10.9, where the methods now reject uncompressed lengths that are not multiples of the element size by throwing a SnappyIOException. Users can mitigate by verifying the uncompressed length is a multiple of the element size before calling these methods.
References
- github.com/xerial/snappy-java/security/advisories/GHSA-gwq9-9ffj-mvrv (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-93451 (opens in a new tab)
- github.com/xerial/snappy-java/issues/729 (opens in a new tab)
- github.com/xerial/snappy-java/pull/739 (opens in a new tab)
- github.com/xerial/snappy-java/commit/943c6043a292568575e8347af4507d015e802c75 (opens in a new tab)
- github.com/xerial/snappy-java (opens in a new tab)
- github.com/xerial/snappy-java/blob/v1.1.10.8/src/main/java/org/xerial/snappy/Snappy.java (opens in a new tab)
- github.com/xerial/snappy-java/releases/tag/v1.1.10.9 (opens in a new tab)
- vulncheck.com/advisories/snappy-java-through-1.1.10.8-buffer-overflow-via-typed-uncompress-methods (opens in a new tab)