CVE-2026-108106
High · 7.5CVSS
7.5
EPSS
0.4%
Published
Oct 9, 2026
CISA due date
—
Cloudanix analysis
A data-compression library used inside many Java programs can be tricked into using so much memory that the program crashes, making the service unavailable.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Unbounded memory allocation in decompression routines allows a small crafted input to trigger allocation of up to 2 GB, exhausting JVM heap and triggering OutOfMemoryError.
Why it matters to the business
Applications using the library become unavailable when an attacker sends a few bytes that force the JVM to crash, disrupting services that depend on this compression component.
How an attack unfolds
An attacker identifies an entry point that calls Snappy.uncompress, uncompressString, SnappyInputStream or SnappyFramedInputStream, supplies a minimal payload declaring an extremely large uncompressed length, and causes the JVM to allocate far more memory than available, resulting in denial of service.
How to fix it
Upgrade snappy-java to version 1.1.10.9 or later; rebuild and redeploy all dependent artifacts; verify the updated library is loaded at runtime.
How to confirm the fix worked
Confirm the snappy-java JAR version is at least 1.1.10.9; run a test case that supplies the malicious length field and verify the call now fails fast instead of allocating excessive memory.
Typical attack path
- Locate any network or file input that reaches a Snappy decompression method
- Craft a compressed buffer containing a large declared uncompressed size but minimal actual data
- Submit the buffer to Snappy.uncompress or equivalent stream constructors
- Observe JVM heap exhaustion and application termination
How to detect it
Search application and JVM logs for OutOfMemoryError exceptions occurring shortly after calls to Snappy decompression methods; inspect thread dumps for large byte-array allocations originating from the snappy-java package.
- OutOfMemoryError.*snappy
- Snappy.uncompress
- SnappyInputStream
- SnappyFramedInputStream
What your security team should do
- Immediately update snappy-java to 1.1.10.9+ across all builds and containers
- Add dependency scanning to block future vulnerable versions of the library
- Monitor JVM heap metrics and alert on sudden spikes correlated with Snappy usage
- Review any custom code paths that directly invoke Snappy decompression on untrusted input
The record
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 SnappyFramedInputStream to force allocations up to 2 GB, causing OutOfMemoryError and denial of service.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62297 ag-psd is a JavaScript library for reading and writing Photoshop Document files. CWE-789
- CVE-2026-62254 LibreDWG is a free C library to read and write DWG files. CWE-789
- CVE-2026-61845 Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3… CWE-789
- CVE-2026-115865 Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to… CWE-789
- CVE-2026-119280 MariaDB Connector/J is used to connect applications developed in Java to MariaDB and… CWE-789
- CVE-2026-119278 MariaDB Connector/J is used to connect applications developed in Java to MariaDB and… CWE-789
- CVE-2026-119276 MariaDB Connector/J is used to connect applications developed in Java to MariaDB and… CWE-789
- CVE-2026-118590 A security vulnerability has been detected in nipy nibabel up to 5.4.2. CWE-789