
Gepatchte Log4j 1.2.17-Bibliothek, bei der die anfällige JMSAppender-Klasse entfernt wurde, um CVE-2021-4104 zu entschärfen, gedacht als Drop-in-Ersatz für betroffene Anwendungen.
Dieses JAR wurde erstellt, um gegen CVE-2021-4104 zu schützen.
Es ist als direkter Ersatz für Log4j-v1-Bibliotheken gedacht.
Log4j-1.2-Projektseite: https://logging.apache.org/log4j/1.2/
Apache-2.0-Lizenz: https://www.apache.org/licenses/LICENSE-2.0
Fügen Sie dies zu Ihrer pom.xml hinzu
<project ...>
<repositories>
<!-- Open AIMS maven repository on GitHub -->
<repository>
<id>github_openaims</id>
<name>GitHub Open-AIMS repo</name>
<url>https://maven.pkg.github.com/open-AIMS/*</url>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>au.gov.aims</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17-aims</version>
</dependency>
...
</dependencies>
</project>
Wenn eine der Abhängigkeiten eine andere Version von log4j verwendet, schließen Sie sie mit der Exclusions-Gruppe in der Abhängigkeitsdeklaration aus.
Beispiel:
<project ...>
...
<dependencies>
<dependency>
<groupId>au.gov.aims</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17-aims</version>
</dependency>
<dependency>
<groupId>uk.ac.rdg.resc</groupId>
<artifactId>edal-xml-catalogue</artifactId>
<version>1.2.4</version>
<type>jar</type>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
...
</dependencies>
</project>
Wenn das Projekt über einen GitHub-Workflow verwaltet wird, vergessen Sie nicht, Anmeldedaten für das
github_openaims-Repository in Ihrer maven-settings.xml-Datei hinzuzufügen:
<settings ...>
...
<servers>
<!-- Used by GitHub server to resolve Open-AIMS dependencies when running tests or building the package -->
<server>
<id>github_openaims</id>
<username>${env.GITHUB_USERNAME}</username>
<password>${env.GITHUB_TOKEN}</password>
</server>
</servers>
</settings>
So wurde dieses JAR erstellt:
Kopieren Sie das JAR aus Ihrem lokalen Maven-Repository in dieses Projekt:
$ cp ~/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar jar/log4j-1.2.17-aims.jar
Entfernen Sie die problematische Klasse:
$ zip -q -d jar/log4j-1.2.17-aims.jar org/apache/log4j/net/JMSAppender.class
Erstellen Sie ein neues Release auf GitHub