Skip to content
OpenAdvisories
Medium · 5.9 CVE-2023-34453 EUVD-2023-1858GHSA-pqr6-cmr2-h8hf

snappy-java's Integer Overflow vulnerability in shuffle leads to DoS

Published Jun 15, 2023 · Updated Dec 12, 2024 · Assigned by GitHub_M

Description

snappy-java is a fast compressor/decompressor for Java. Due to unchecked multiplications, an integer overflow may occur in versions prior to 1.1.10.1, causing a fatal error.

The function `shuffle(int[] input)` in the file `BitShuffle.java` receives an array of integers and applies a bit shuffle on it. It does so by multiplying the length by 4 and passing it to the natively compiled shuffle function. Since the length is not tested, the multiplication by four can cause an integer overflow and become a smaller value than the true size, or even zero or negative. In the case of a negative value, a `java.lang.NegativeArraySizeException` exception will raise, which can crash the program. In a case of a value that is zero or too small, the code that afterwards references the shuffled array will assume a bigger size of the array, which might cause exceptions such as `java.lang.ArrayIndexOutOfBoundsException`.

The same issue exists also when using the `shuffle` functions that receive a double, float, long and short, each using a different multiplier that may cause the same issue.

Version 1.1.10.1 contains a patch for this vulnerability.

Affected products

VendorProductAffectedFixed
xerial snappy-java < 1.1.10.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 snappy-java No fix yet —
Ubuntu 26.04 LTS snappy-java No fix yet —
Ubuntu 25.10 snappy-java No fix yet —
Ubuntu 24.04 LTS snappy-java No fix yet —
Ubuntu 22.04 LTS snappy-java No fix yet —
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS snappy-java No fix yet —
Ubuntu 18.04 LTS snappy-java No fix yet —
Ubuntu 16.04 LTS snappy-java No fix yet —
Ubuntu 14.04 LTS snappy-java No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling druid 35.0.1-r1 —

Affected packages

EcosystemPackageAffectedFixedRecord
Maven org.xerial.snappy:snappy-java < 1.1.10.1 1.1.10.1 GHSA-pqr6-cmr2-h8hf

Advisories 8

References