使用しているLog4Jのバージョンを確認するにはどうすればいいですか? 質問する

使用しているLog4Jのバージョンを確認するにはどうすればいいですか? 質問する

ご存知のとおり、少なくとも 4 つまたは 5 つの Log4j JAR ファイルがクラスパスに存在します。使用しているバージョンを確認するにはどうすればよいでしょうか?

ベストアンサー1

私のサーバーが新しいLog4jエクスプロイトに対して脆弱である可能性があると知り、ここに来ました(CVE-2021-44228)。そのため、Log4j バージョン 2 の古い/脆弱なビルドがインストールされているかどうかを確認する必要がありました。

ここでの以前の回答は、すでに実行中のJavaコードがどのバージョンのLog4jを使用しているかを判断するためのものであるため、古いバージョンの検出には役立ちません。どれでもJava アプリは脆弱なバージョンを使用している可能性があります。

代わりに私がやったことは次のとおりです:

sudo find / -name 'log4j*'

これは、私の (Linux) サーバー上のすべての Log4j 関連ファイルをリストします。このリストには、この特定の CVE に対して脆弱ではない 1.x バージョンがいくつかと、CVE の修正が既に含まれている 2.15.0 ファイルが 1 つ表示されています。

これを実行して、ファイル名またはフォルダ名に 2.x (x < 15) が含まれている場合、脆弱性がある可能性があり、できるだけ早くファイルを更新する方法を見つける必要があります。

注意

findLog4j ファイルは .jar ファイル内に隠されている可能性があり、コマンドでは検出できないため、これは私の目的には十分なテストではないと警告されました。

アップデート

以下は、アーカイブ内の Log4j コードも見つけるために、すべての .jar ファイルをスキャンしようとする公開プロジェクトです。Log4検出器

おすすめ記事