This is an automated email from the ASF dual-hosted git repository.

FreeAndNil pushed a commit to branch Feature/security-audit-hardening
in repository https://gitbox.apache.org/repos/asf/logging-log4net.git

commit 28d411a53b7f61b0da7f9324181e6a23f926cd39
Author: Jan Friedrich <[email protected]>
AuthorDate: Tue Aug 18 00:02:34 2026 +0200

    pin the Maven wrapper and distribution downloads
    
    mvnw and MavenWrapperDownloader both refuse to run when a download does not
    match a checksum, but neither wrapperSha256Sum nor distributionSha256Sum was
    set, so the enforcement never ran and whatever the URLs returned was
    executed.
    
    wrapperSha256Sum is of the maven-wrapper.jar committed next to the
    properties, which is byte identical to the published 
maven-wrapper-3.2.0.jar.
    
    distributionSha256Sum is of apache-maven-3.9.0-bin.zip from
    archive.apache.org, whose SHA-512 matches the published value, which is byte
    identical to the copy on Maven Central, and whose PGP signature verifies
    against https://downloads.apache.org/maven/KEYS.
    
    Both enforcement paths were exercised: with the checksums correct mvnw runs
    Maven 3.9.0, and with either one altered it refuses.
    
    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
---
 .mvn/wrapper/maven-wrapper.properties                   |  7 +++++++
 src/changelog/3.4.0/309-pin-maven-wrapper-checksums.xml | 14 ++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/.mvn/wrapper/maven-wrapper.properties 
b/.mvn/wrapper/maven-wrapper.properties
index 08ea486a..09c1213c 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -16,3 +16,10 @@
 # under the License.
 
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.0/apache-maven-3.9.0-bin.zip
 
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
+# mvnw and MavenWrapperDownloader refuse to run when a download does not match 
these.
+# distributionSha256Sum is of apache-maven-3.9.0-bin.zip as published on 
archive.apache.org, whose
+# PGP signature verifies against https://downloads.apache.org/maven/KEYS and 
whose bytes are
+# identical to the Maven Central copy above. wrapperSha256Sum is of the 
maven-wrapper.jar committed
+# next to this file, which is identical to the published 
maven-wrapper-3.2.0.jar.
+distributionSha256Sum=68e5a1745a5f5e4b0dfae051f83297e2ea40912b2c3b84d3b7420f463f39260d
+wrapperSha256Sum=e63a53cfb9c4d291ebe3c2b0edacb7622bbc480326beaa5a0456e412f52f066a
diff --git a/src/changelog/3.4.0/309-pin-maven-wrapper-checksums.xml 
b/src/changelog/3.4.0/309-pin-maven-wrapper-checksums.xml
new file mode 100644
index 00000000..b4ce40cb
--- /dev/null
+++ b/src/changelog/3.4.0/309-pin-maven-wrapper-checksums.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns="https://logging.apache.org/xml/ns";
+       xsi:schemaLocation="https://logging.apache.org/xml/ns 
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd";
+       type="added">
+  <issue id="309" link="https://github.com/apache/logging-log4net/pull/309"/>
+  <description format="asciidoc">
+    pin the Maven wrapper and the Maven distribution it downloads with
+ `wrapperSha256Sum` and `distributionSha256Sum`. `mvnw` and 
`MavenWrapperDownloader` already refuse
+ to run when a download does not match, but neither property was set, so 
whatever the URLs returned
+ was executed (CWE-494). Both values were taken from artifacts whose PGP 
signature verifies against
+ the Apache Maven KEYS (audit 1231d72-f023)
+  </description>
+</entry>

Reply via email to