
パッチ適用済みの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ワークフローで管理されている場合は、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で新しいリリースを作成します