
패치된 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>
<!-- 테스트 실행 또는 패키지 빌드 시 Open-AIMS 의존성을 해결하기 위해 GitHub 서버에서 사용됨 -->
<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에서 새 릴리스를 생성하세요