GHSA-xqrx-qh46-34m7MediumCVSS 5.9

snappy-java: JVM crash from unchecked ranges in Snappy.arrayCopy and SnappyOutputStream.rawWrite

Published
October 27, 2026
Last Modified
October 27, 2026

🔗 CVE IDs covered (1)

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

🎯 Affected products1

  • maven/org.xerial.snappy:snappy-java:<= 1.1.10.8

🔗 References (6)