Skip to content
This repository was archived by the owner on Apr 22, 2025. It is now read-only.

Commit 02a3c70

Browse files
Update dependencies to address CVE-2024-25710, CVE-2024-26308 (#298)
- Address vulnerabilities in Apache commons-compress. - Fix some minor compilation issues following dependency updates. Signed-off-by: Mark S. Lewis <[email protected]>
1 parent 4b8425d commit 02a3c70

File tree

3 files changed

+33
-34
lines changed

3 files changed

+33
-34
lines changed

pom.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<protobuf.version>3.24.4</protobuf.version> <!-- Must match version used by grpc-protobuf -->
3333
<bouncycastle.version>1.77</bouncycastle.version>
3434
<httpclient.version>4.5.14</httpclient.version>
35-
<javadoc.version>3.6.2</javadoc.version>
35+
<javadoc.version>3.6.3</javadoc.version>
3636
<skipITs>true</skipITs>
3737
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3838
<jacoco.version>0.8.11</jacoco.version>
@@ -121,7 +121,7 @@
121121
<dependency>
122122
<groupId>org.apache.commons</groupId>
123123
<artifactId>commons-compress</artifactId>
124-
<version>1.24.0</version>
124+
<version>1.26.0</version>
125125
</dependency>
126126
<dependency>
127127
<groupId>commons-io</groupId>
@@ -255,7 +255,7 @@
255255
<plugin>
256256
<groupId>org.apache.maven.plugins</groupId>
257257
<artifactId>maven-surefire-plugin</artifactId>
258-
<version>3.2.2</version>
258+
<version>3.2.5</version>
259259
<configuration>
260260
<argLine>${surefireArgLine}</argLine>
261261
<includes>
@@ -267,7 +267,7 @@
267267
<plugin>
268268
<groupId>org.apache.maven.plugins</groupId>
269269
<artifactId>maven-failsafe-plugin</artifactId>
270-
<version>3.2.2</version>
270+
<version>3.2.5</version>
271271
<configuration>
272272
<argLine>${failsafeArgLine}</argLine>
273273
<includes>
@@ -314,7 +314,7 @@
314314
<plugin>
315315
<groupId>org.apache.maven.plugins</groupId>
316316
<artifactId>maven-compiler-plugin</artifactId>
317-
<version>3.11.0</version>
317+
<version>3.12.1</version>
318318
<configuration>
319319
<source>${javaVersion}</source>
320320
<target>${javaVersion}</target>
@@ -619,7 +619,7 @@
619619
<plugin>
620620
<groupId>org.owasp</groupId>
621621
<artifactId>dependency-check-maven</artifactId>
622-
<version>8.4.3</version>
622+
<version>9.0.9</version>
623623
<configuration>
624624
<skipProvidedScope>true</skipProvidedScope>
625625
<skipTestScope>true</skipTestScope>
@@ -695,7 +695,7 @@
695695
<dependency>
696696
<groupId>com.puppycrawl.tools</groupId>
697697
<artifactId>checkstyle</artifactId>
698-
<version>10.12.5</version>
698+
<version>10.13.0</version>
699699
</dependency>
700700
</dependencies>
701701
</plugin>

src/main/java/org/hyperledger/fabric/sdk/helper/Utils.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,27 @@
1414

1515
package org.hyperledger.fabric.sdk.helper;
1616

17+
import com.google.common.collect.ImmutableMap;
18+
import com.google.protobuf.ByteString;
19+
import com.google.protobuf.Timestamp;
20+
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
21+
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
22+
import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
23+
import org.apache.commons.io.FilenameUtils;
24+
import org.apache.commons.io.IOUtils;
25+
import org.apache.commons.logging.Log;
26+
import org.apache.commons.logging.LogFactory;
27+
import org.bouncycastle.crypto.Digest;
28+
import org.bouncycastle.crypto.digests.SHA3Digest;
29+
import org.bouncycastle.util.Arrays;
30+
import org.bouncycastle.util.encoders.Hex;
31+
1732
import java.io.ByteArrayOutputStream;
1833
import java.io.File;
1934
import java.io.FileInputStream;
2035
import java.io.IOException;
2136
import java.io.InputStream;
37+
import java.io.UncheckedIOException;
2238
import java.lang.reflect.InvocationTargetException;
2339
import java.lang.reflect.Method;
2440
import java.math.BigDecimal;
@@ -41,22 +57,6 @@
4157
import java.util.regex.Pattern;
4258
import java.util.stream.Collectors;
4359

44-
import com.google.common.collect.ImmutableMap;
45-
import com.google.protobuf.ByteString;
46-
import com.google.protobuf.Timestamp;
47-
import org.apache.commons.compress.archivers.ArchiveEntry;
48-
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
49-
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
50-
import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
51-
import org.apache.commons.io.FilenameUtils;
52-
import org.apache.commons.io.IOUtils;
53-
import org.apache.commons.logging.Log;
54-
import org.apache.commons.logging.LogFactory;
55-
import org.bouncycastle.crypto.Digest;
56-
import org.bouncycastle.crypto.digests.SHA3Digest;
57-
import org.bouncycastle.util.Arrays;
58-
import org.bouncycastle.util.encoders.Hex;
59-
6060
import static java.lang.String.format;
6161
import static java.nio.charset.StandardCharsets.UTF_8;
6262
import static org.apache.commons.codec.binary.Hex.encodeHexString;
@@ -144,7 +144,7 @@ public static String generateDirectoryHash(String rootDir, String chaincodeDir,
144144
hashBuilder.setLength(0);
145145
hashBuilder.append(Hex.toHexString(hash(toHash, new SHA3Digest())));
146146
} catch (IOException ex) {
147-
throw new RuntimeException(format("Error while reading file %s", file.getAbsolutePath()), ex);
147+
throw new UncheckedIOException(format("Error while reading file %s", file.getAbsolutePath()), ex);
148148
}
149149
});
150150

@@ -178,7 +178,7 @@ public static byte[] generateTarGz(File sourceDirectory, String pathPrefix, File
178178

179179
Collection<File> childrenFiles = org.apache.commons.io.FileUtils.listFiles(sourceDirectory, null, true);
180180

181-
ArchiveEntry archiveEntry;
181+
TarArchiveEntry archiveEntry;
182182
for (File childFile : childrenFiles) {
183183
String childPath = childFile.getAbsolutePath();
184184
String relativePath = childPath.substring((sourcePath.length() + 1));

src/test/java/org/hyperledger/fabric/sdkintegration/Util.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616

1717
package org.hyperledger.fabric.sdkintegration;
1818

19+
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
20+
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
21+
import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
22+
import org.apache.commons.io.FilenameUtils;
23+
import org.apache.commons.io.IOUtils;
24+
import org.hyperledger.fabric.sdk.helper.Utils;
25+
1926
import java.io.BufferedOutputStream;
2027
import java.io.ByteArrayInputStream;
2128
import java.io.ByteArrayOutputStream;
@@ -25,14 +32,6 @@
2532
import java.io.InputStream;
2633
import java.util.Collection;
2734

28-
import org.apache.commons.compress.archivers.ArchiveEntry;
29-
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
30-
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
31-
import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
32-
import org.apache.commons.io.FilenameUtils;
33-
import org.apache.commons.io.IOUtils;
34-
import org.hyperledger.fabric.sdk.helper.Utils;
35-
3635
import static java.lang.String.format;
3736

3837
class Util {
@@ -64,7 +63,7 @@ public static InputStream generateTarGzInputStream(File src, String pathPrefix)
6463
try {
6564
Collection<File> childrenFiles = org.apache.commons.io.FileUtils.listFiles(sourceDirectory, null, true);
6665

67-
ArchiveEntry archiveEntry;
66+
TarArchiveEntry archiveEntry;
6867
FileInputStream fileInputStream;
6968
for (File childFile : childrenFiles) {
7069
String childPath = childFile.getAbsolutePath();

0 commit comments

Comments
 (0)