GHSA-xqrx-qh46-34m7: Out-of-bounds Read

Published Oct 27, 2026
·
Updated

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 Software

1 affected componentFixes available
maven/org.xerial.snappy:snappy-java<=1.1.10.8
1.1.10.9

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.xerial.snappy:snappy-java to a version that resolves this vulnerability.

    Fixed in 1.1.10.9
  2. Upgrade

    Upgrade Snappy to a version that resolves this vulnerability.

    Fixed in 1.1.10.9Patch #741
  3. Compensating control

    Validate offsets and lengths before calling the stream read/write methods, including rejecting typed-array ranges whose byte size overflows int.

Event History

Oct 27, 2026
Advisory Published
via GitHub·03:33 PM
Data Sourced
via GitHub·03:33 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which applications are exposed to this issue?

Applications using snappy-java are exposed when they call Snappy.arrayCopy, SnappyOutputStream.rawWrite, SnappyInputStream.rawRead, or the typed-array write/read methods with offsets or lengths that can be influenced by untrusted input.

2

What does an attacker need to do to trigger the vulnerability?

An attacker needs to cause a vulnerable method to receive a negative or oversized offset or byte length. Exploitation can read or write outside the array bounds and crash the JVM.

3

Are the affected methods safe by default?

No. The vulnerable array-copy and stream methods passed caller-supplied ranges to native memcpy without validating them. Callers must ensure offsets and lengths are valid unless they upgrade to the fixed release.

4

What can be done if upgrading is not immediately possible?

Validate offsets and lengths before calling Snappy.arrayCopy, rawWrite, rawRead, or typed-array read/write methods. Reject negative values and ranges that exceed the relevant array bounds; for typed arrays, also reject ranges whose byte size overflows int.

5

Which release fixes the issue?

The issue is fixed in snappy-java 1.1.10.9. The fix adds range checks to array copying and stream reads and writes.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203