---
id: CVE-2026-116590
aliases:
  - GHSA-xqrx-qh46-34m7
title: >-
  snappy-java: JVM crash from unchecked ranges in Snappy.arrayCopy and
  SnappyOutputStream.rawWrite
summary: >-
  snappy-java: JVM crash from unchecked ranges in Snappy.arrayCopy and
  SnappyOutputStream.rawWrite
severity: medium
cvss: 5.9
cwe:
  - CWE-129
  - CWE-787
vendor: xerial
product: 'org.xerial.snappy:snappy-java'
ecosystem: maven
affected:
  - 'org.xerial.snappy:snappy-java <= 1.1.10.8'
patched:
  - 'org.xerial.snappy:snappy-java 1.1.10.9'
published: '2026-10-27'
updated: '2026-10-27'
sourceUpdated: '2026-10-27T15:33:30Z'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-xqrx-qh46-34m7'
references:
  - url: >-
      https://github.com/xerial/snappy-java/security/advisories/GHSA-xqrx-qh46-34m7
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-116590'
  - url: 'https://github.com/xerial/snappy-java/pull/741'
  - url: >-
      https://github.com/xerial/snappy-java/commit/2d7ca71c087a98f1219fb2d51909f3891c3ce77b
  - url: 'https://github.com/xerial/snappy-java/releases/tag/v1.1.10.9'
  - url: 'https://github.com/advisories/GHSA-xqrx-qh46-34m7'
tags:
  - ghsa
  - maven
  - cve.org
epss: 0.00407
epssPercentile: 0.348
ingestedAt: '2026-10-27T16:11:58.713Z'
---

## Overview

### 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.

## Affected packages

- `org.xerial.snappy:snappy-java <= 1.1.10.8`

## Remediation

Upgrade to a patched release:

- `org.xerial.snappy:snappy-java 1.1.10.9`
