
पैच किया गया Log4j 1.2.17 लाइब्रेरी जिसमें कमजोर JMSAppender क्लास को हटा दिया गया है ताकि CVE-2021-4104 को कम किया जा सके, जिसे प्रभावित अनुप्रयोगों के लिए ड्रॉप-इन प्रतिस्थापन के रूप में उपयोग करने का इरादा है।
यह jar CVE-2021-4104 से सुरक्षा के लिए बनाया गया है।
इसे Log4j v1 लाइब्रेरीज़ के सीधे प्रतिस्थापन के रूप में उपयोग करने का इरादा है।
Log4j 1.2 प्रोजेक्ट पृष्ठ: https://logging.apache.org/log4j/1.2/
Apache 2.0 लाइसेंस: https://www.apache.org/licenses/LICENSE-2.0
इसे अपने pom.xml में जोड़ें
<project ...>
<repositories>
<!-- GitHub पर Open AIMS maven रिपॉजिटरी -->
<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>
यदि कोई निर्भरता log4j के किसी अन्य संस्करण का उपयोग करती है, तो निर्भरता घोषणा में exclusions समूह के साथ उसे बाहर करें।
उदाहरण:
<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>
यदि प्रोजेक्ट GitHub workflow द्वारा प्रबंधित है, तो अपनी maven-settings.xml फ़ाइल में github_openaims रिपॉजिटरी के लिए क्रेडेंशियल जोड़ना न भूलें:
<settings ...>
...
<servers>
<!-- GitHub सर्वर द्वारा परीक्षण चलाते समय या पैकेज बनाते समय Open-AIMS निर्भरताओं को हल करने के लिए उपयोग किया जाता है -->
<server>
<id>github_openaims</id>
<username>${env.GITHUB_USERNAME}</username>
<password>${env.GITHUB_TOKEN}</password>
</server>
</servers>
</settings>
यह jar कैसे बनाया गया:
अपने स्थानीय maven रिपॉजिटरी से jar को इस प्रोजेक्ट में कॉपी करें:
$ cp ~/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar jar/log4j-1.2.17-aims.jar
समस्याग्रस्त क्लास को हटाएं:
$ zip -q -d jar/log4j-1.2.17-aims.jar org/apache/log4j/net/JMSAppender.class
GitHub पर एक नया रिलीज़ बनाएं