Skip to content

Commit 71a2a84

Browse files
authored
fix (nifi): CVE-2024-36114 (#924)
* fix (nifi): CVE-2024-36114 * adapted changelog * fix changelog
1 parent ec343c0 commit 71a2a84

File tree

3 files changed

+76
-0
lines changed

3 files changed

+76
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ All notable changes to this project will be documented in this file.
6767
Spark 3.5.2 is not affected. ([#921])
6868
- trino: Correctly report Trino version ([#881]).
6969
- hive: Fix CVE-2024-36114 in Hive `3.1.3` and `4.0.0` by upgrading a dependency. ([#922]).
70+
- nifi: Fix CVE-2024-36114 in NiFi `1.27.0` and `2.0.0` by upgrading a dependency. ([#924]).
7071
- hbase: Fix CVE-2024-36114 in HBase `2.6.0` by upgrading a dependency. ([#925]).
7172
- druid: Fix CVE-2024-36114 in Druid `26.0.0` and `30.0.0` by upgrading a dependency ([#926]).
7273

@@ -115,6 +116,7 @@ All notable changes to this project will be documented in this file.
115116
[#920]: https://github.com/stackabletech/docker-images/pull/920
116117
[#921]: https://github.com/stackabletech/docker-images/pull/921
117118
[#922]: https://github.com/stackabletech/docker-images/pull/922
119+
[#924]: https://github.com/stackabletech/docker-images/pull/924
118120
[#925]: https://github.com/stackabletech/docker-images/pull/925
119121
[#926]: https://github.com/stackabletech/docker-images/pull/926
120122

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Fix CVE-2024-36114
2+
see https://github.com/stackabletech/vulnerabilities/issues/834
3+
4+
Aircompressor is a library with ports of the Snappy, LZO, LZ4, and
5+
Zstandard compression algorithms to Java. All decompressor
6+
implementations of Aircompressor (LZ4, LZO, Snappy, Zstandard) can crash
7+
the JVM for certain input, and in some cases also leak the content of
8+
other memory of the Java process (which could contain sensitive
9+
information). When decompressing certain data, the decompressors try to
10+
access memory outside the bounds of the given byte arrays or byte
11+
buffers. Because Aircompressor uses the JDK class sun.misc.Unsafe to
12+
speed up memory access, no additional bounds checks are performed and
13+
this has similar security consequences as out-of-bounds access in C or
14+
C++, namely it can lead to non-deterministic behavior or crash the JVM.
15+
Users should update to Aircompressor 0.27 or newer where these issues
16+
have been fixed. When decompressing data from untrusted users, this can
17+
be exploited for a denial-of-service attack by crashing the JVM, or to
18+
leak other sensitive information from the Java process. There are no
19+
known workarounds for this issue.
20+
21+
diff --git a/pom.xml b/pom.xml
22+
index 0437c2b949..1a06052b3b 100644
23+
--- a/pom.xml
24+
+++ b/pom.xml
25+
@@ -155,6 +155,12 @@
26+
</properties>
27+
<dependencyManagement>
28+
<dependencies>
29+
+ <!-- Mitigate CVE-2024-36114: See https://github.com/stackabletech/vulnerabilities/issues/834 -->
30+
+ <dependency>
31+
+ <groupId>io.airlift</groupId>
32+
+ <artifactId>aircompressor</artifactId>
33+
+ <version>0.27</version>
34+
+ </dependency>
35+
<!-- The following dependency management entries exist because these are jars
36+
that live in the top-level lib directory and will be present in the parent-first
37+
classloading of all child nars. Therefore we dont want child nars using different
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Fix CVE-2024-36114
2+
see https://github.com/stackabletech/vulnerabilities/issues/834
3+
4+
Aircompressor is a library with ports of the Snappy, LZO, LZ4, and
5+
Zstandard compression algorithms to Java. All decompressor
6+
implementations of Aircompressor (LZ4, LZO, Snappy, Zstandard) can crash
7+
the JVM for certain input, and in some cases also leak the content of
8+
other memory of the Java process (which could contain sensitive
9+
information). When decompressing certain data, the decompressors try to
10+
access memory outside the bounds of the given byte arrays or byte
11+
buffers. Because Aircompressor uses the JDK class sun.misc.Unsafe to
12+
speed up memory access, no additional bounds checks are performed and
13+
this has similar security consequences as out-of-bounds access in C or
14+
C++, namely it can lead to non-deterministic behavior or crash the JVM.
15+
Users should update to Aircompressor 0.27 or newer where these issues
16+
have been fixed. When decompressing data from untrusted users, this can
17+
be exploited for a denial-of-service attack by crashing the JVM, or to
18+
leak other sensitive information from the Java process. There are no
19+
known workarounds for this issue.
20+
21+
diff --git a/nifi-assembly/pom.xml b/nifi-assembly/pom.xml
22+
index e980e507c6..01eb16795d 100644
23+
--- a/nifi-assembly/pom.xml
24+
+++ b/nifi-assembly/pom.xml
25+
@@ -98,6 +98,12 @@ language governing permissions and limitations under the License. -->
26+
</plugins>
27+
</build>
28+
<dependencies>
29+
+ <!-- Mitigate CVE-2024-36114: See https://github.com/stackabletech/vulnerabilities/issues/834 -->
30+
+ <dependency>
31+
+ <groupId>io.airlift</groupId>
32+
+ <artifactId>aircompressor</artifactId>
33+
+ <version>0.27</version>
34+
+ </dependency>
35+
<dependency>
36+
<groupId>ch.qos.logback</groupId>
37+
<artifactId>logback-classic</artifactId>

0 commit comments

Comments
 (0)