Vulnerability · Published May 29, 2024 · Assigned by GitHub_M
CVE-2024-36114Decompressors can crash the JVM and leak memory content in Aircompressor
High 8.6
In plain English
A high-severity out-of-bounds read in aircompressor from airlift. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 43% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.
Official description
Aircompressor is a library with ports of the Snappy, LZO, LZ4, and Zstandard compression algorithms to Java. All decompressor implementations of Aircompressor (LZ4, LZO, Snappy, Zstandard) can crash the JVM for certain input, and in some cases also leak the content of other memory of the Java process (which could contain sensitive information). When decompressing certain data, the decompressors try to access memory outside the bounds of the given byte arrays or byte buffers. Because Aircompressor uses the JDK class `sun.misc.Unsafe` to speed up memory access, no additional bounds checks are performed and this has similar security consequences as out-of-bounds access in C or C++, namely it can lead to non-deterministic behavior or crash the JVM. Users should update to Aircompressor 0.27 or newer where these issues have been fixed. When decompressing data from untrusted users, this can be exploited for a denial-of-service attack by crashing the JVM, or to leak other sensitive information from the Java process. There are no known workarounds for this issue.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Maven | io.airlift:aircompressor | 0.27 | GHSA-973x-65j7-xcf4 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| airlift | aircompressor | < 0.27 |
Weakness: CWE-125, CWE-787 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
References
- https://github.com/airlift/aircompressor/security/advisories/GHSA-973x-65j7-xcf4 x_refsource_CONFIRM
- https://github.com/airlift/aircompressor/commit/15e68df9eb0c2bfde7f796231ee7cd1982965071 x_refsource_MISC
- https://github.com/airlift/aircompressor/commit/2cea90a45534f9aacbb77426fb64e975504dee6e x_refsource_MISC
- https://github.com/airlift/aircompressor/commit/cf66151541edb062ea88b6f3baab3f95e48b7b7f x_refsource_MISC
- https://github.com/airlift/aircompressor/commit/d01ecb779375a092d00e224abe7869cdf49ddc3e x_refsource_MISC