GitHub Advisoryadvisory · Maven
GHSA-xqrx-qh46-34m7 snappy-java: JVM crash from unchecked ranges in Snappy.arrayCopy and SnappyOutputStream.rawWrite
MEDIUM
Official page ↗
- Aliases
- CVE-2026-116590
- Ecosystem
- Maven
- Packages
- org.xerial.snappy:snappy-java
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-129, CWE-787
- Reviewed
- 2026-10-27
Affected packages
• Maven org.xerial.snappy:snappy-java: < 1.1.10.9 → fixed in 1.1.10.9
Description
Impact
`Snappy.arrayCopy(Object src, int offset, int byteLength, Object dest, int destOffset)` called a native `memcpy` without validating the ranges. A negative or oversized `byteLength` or offset read or wrote outside the arrays and crashed the JVM. `SnappyOutputStream.rawWrite` and `SnappyInputStream.rawRead`, and therefore the typed-array `write`/`read` methods, pass caller-supplied ranges to this method.
Patches
Fixed in 1.1.10.9 (#741). `Snappy.arrayCopy` checks both ranges before copying. The stream `read`/`write` methods validate offsets and lengths, and reject typed-array ranges whose byte size overflows `int`.
Workarounds
Validate offsets and lengths before calling these methods.
Related
Alias · CVE (1)
- CVE-2026-116590 snappy-java is a Java port of the snappy, a fast C++ compresser/decompresser developed by Google. vulnerability
References
- https://github.com/xerial/snappy-java/security/advisories/GHSA-xqrx-qh46-34m7 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-116590 advisory
- https://github.com/xerial/snappy-java/pull/741 web
- https://github.com/xerial/snappy-java/commit/2d7ca71c087a98f1219fb2d51909f3891c3ce77b web
- https://github.com/xerial/snappy-java package
- https://github.com/xerial/snappy-java/releases/tag/v1.1.10.9 web