snappy-java's Integer Overflow vulnerability in shuffle leads to DoS
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 2 fixed, 5 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-190 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| xerial | snappy-java | before 1.1.10.1 | 1.1.10.1 | Patch available | CNA |
| — | org.xerial.snappy:snappy-java (Maven) | before 1.1.10.1 | 1.1.10.1 | Patch available | GHSA-pqr6-cmr2-h8hf |
- snappy-java Vendorxerial Affected before 1.1.10.1 Fixed in 1.1.10.1 Patch available CNA
- org.xerial.snappy:snappy-java (Maven) Vendor— Affected before 1.1.10.1 Fixed in 1.1.10.1 Patch available GHSA-pqr6-cmr2-h8hf
Remediation
- Fix · CNA snappy-java (xerial) Fixed in 1.1.10.1
- Fix · GHSA-pqr6-cmr2-h8hf org.xerial.snappy:snappy-java (Maven) Fixed in 1.1.10.1 Advisory →
Red Hat 2 advisories
- RHSA-2023:7700 Released 2023-12-07 · Red Hat rating ImportantRed Hat build of Quarkus 2.13.9 release and security update
- Red Hat build of Quarkus 2.13.9
- RHSA-2023:5165 Released 2023-09-14 · Red Hat rating ImportantRed Hat AMQ Streams 2.5.0 release and security update
- Red Hat AMQ Streams 2.5.0
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Serverless | Affected | No fix planned: Will not fix |
| Red Hat JBoss Fuse 6 | Affected | No fix planned: Will not fix |
| Red Hat JBoss Fuse Service Works 6 | Affected | No fix planned: Out of support scope |
| Red Hat OpenShift Container Platform 3.11 | Affected | No fix planned: Out of support scope |
| Red Hat Software Collections | Affected | No fix planned: Will not fix |
| Red Hat AMQ Streams 2.5.0 | Fixed | RHSA-2023:5165 |
| Red Hat build of Quarkus 2.13.9 | Fixed | RHSA-2023:7700 |
Not affected: 5 products
- Logging Subsystem for Red Hat OpenShift
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat Satellite 6
- streams for Apache Kafka
Timeline
- 2026-10-02 Threatist record created from CVE-2023-34453
- 2026-10-03 Alias added: GHSA-pqr6-cmr2-h8hf
- 2026-10-27 Fix available: Red Hat build of Quarkus 2.13.9 · Red Hat
References
More xerial Snappy-java vulnerabilities
- TI-2023-23368 Missing upper bound check on chunk length in snappy-java CVSS 3.1HIGH 7.5
- TI-2023-17281 snappy-java's unchecked chunk length leads to DoS CVSS 3.1HIGH 7.5
- TI-2023-17280 snappy-java's Integer Overflow vulnerability in compress leads to DoS CVSS 3.1HIGH 7.5
Sources
- CVE-2023-34453 · CVE Program
- CVE-2023-34453 · NVD
- FIRST EPSS
- GHSA-pqr6-cmr2-h8hf · GitHub Advisory Database · CC BY 4.0
- CVE-2023-34453 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences