【Linux】log4j 脆弱性のために jar ファイルのバージョンチェックをする方法
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-Version や Implementation-Version が示す数字がバージョン情報になります。
参考資料
- Apache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起 – JPCERT
- jarファイルのバージョンを調べる方法 – orattaの日記
- 手元にあるjarファイルがどのバージョンのjavaで利用できるのかを調べたい – Qiita
他のプログラム関連の記事
以下は本脆弱性とは関係ないスクリプトの紹介記事です。ブログのプログラムカテゴリにも色々置いてます。
ディスカッション
コメント一覧
まだ、コメントがありません