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.
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.
Validate offsets and lengths before calling these methods.
{
"cwe_ids": [
"CWE-129",
"CWE-787"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-27T15:33:30Z",
"nvd_published_at": "2026-10-26T22:16:55Z",
"severity": "MODERATE"
}