log4j 脆弱性の対象か調べるために jar ファイルのバージョンチェックをする方法 (Linux)

Linux,お役立ち情報,プログラムApache,Debian,log4j,Ubuntu,セキュリティ,脆弱性

2021 年 12 月、Apache がオープンソースで提供している Java ベースのロギングライブラリである Apache log4j に脆弱性が見つかりました。脆弱性の詳細(日本語情報)については JPCERT のページをご覧ください。

とりあえず自分の使っている Linux マシンで当該バージョンの使用がないか調べたので、その方法をまとめておきます。

log4j の探し方

まずはシステムファイルとして持ってないか find コマンドで全探索します。

sudo find / -name "*log4j*.jar"

root 権限で実行することで、とりあえず Apache log4j を持っているかどうか調べることができます。私の環境では以下のようなものが見つかりました。

  • log4j-1.2-api-*.*.*.jar
  • log4j-api-*.*.*.jar
  • log4j-core-*.*.*.jar

見つかった jar ファイルのバージョン確認

ファイル名の X.X.X からバージョンはわかりますが、jar ファイルを解凍して調べる方法もメモしておきます。

jar コマンドを用いて解凍します。

jar xf log4j-1.2-api-*.*.*.jar

解凍したファイルに META-INF/MANIFEST.MF があるので確認します。

cat ./META-INF/MANIFEST.MF

たくさん情報がでてきますが、Bundle-VersionImplementation-Version が示す数字がバージョン情報になります。

参考資料

他のプログラム関連の記事

以下は本脆弱性とは関係ないスクリプトの紹介記事です。ブログのプログラムカテゴリにも色々置いてます。