

log4j2-scan は、CVE-2021-44228 の脆弱性スキャンおよび緩和パッチのための単一バイナリのコマンドラインツールです。また、ネストされた JAR ファイルのスキャンとパッチにも対応しています。
log4j2-scan.exe または log4j2-scan を、対象ディレクトリのパスを指定して実行するだけです。
使用法
Logpresso CVE-2021-44228 Vulnerability Scanner 1.3.1 (2021-12-15)
Usage: log4j2-scan [--fix] target_path
--fix
Backup original file and remove JndiLookup.class from JAR recursively.
--force-fix
Do not prompt confirmation. Don't use this option unless you know what you are doing.
--trace
Print all directories and files while scanning.
--exclude [path_prefix]
Exclude specified paths. You can specify multiple --exclude [path_prefix] pairs
--exclude-config [file_path]
Specify exclude path list in text file. Paths should be separated by new line. Prepend # for comment.
--all-drives
Scan all drives on Windows
--drives c,d
Scan specified drives on Windows. Spaces are not allowed here.
Windows の場合
log4j2-scan [--fix] target_path
Linux の場合
./log4j2-scan [--fix] target_path
UNIX の場合 (AIX、Solaris など)
java -jar logpresso-log4j2-scan-1.3.1.jar [--fix] target_path
--fix オプションを指定すると、このプログラムは脆弱な元の JAR ファイルを .bak ファイルにコピーし、org/apache/logging/log4j/core/lookup/JndiLookup.class エントリを含まない新しい JAR ファイルを作成します。ほとんどの環境では、JNDI ルックアップ機能は使用されません。ただし、このオプションの使用は自己責任で行ってください。パッチを適用する前に、実行中のすべての JVM プロセスをシャットダウンする必要があります。修正後、影響を受ける JVM プロセスを起動してください。
パッチ作業を自動化したい場合は、--force-fix オプションを使用してください。このオプションを使用すると、このプログラムは確認プロンプトを表示しなくなります。
org/apache/logging/log4j/core/lookup/JndiLookup.class エントリが JAR ファイルから削除されている場合、(mitigated) タグが表示されます。
--trace オプションを指定すると、このプログラムは走査したすべてのディレクトリとファイルを出力します。このオプションはデバッグ専用に使用してください。
Windows の場合:
CMD> log4j2-scan.exe D:\tmp
[*] Found CVE-2021-44228 vulnerability in D:\tmp\elasticsearch-7.16.0\bin\elasticsearch-sql-cli-7.16.0.jar, log4j 2.11.1
[*] Found CVE-2021-44228 vulnerability in D:\tmp\elasticsearch-7.16.0\lib\log4j-core-2.11.1.jar, log4j 2.11.1
[*] Found CVE-2021-44228 vulnerability in D:\tmp\flink-1.14.0\lib\log4j-core-2.14.1.jar, log4j 2.14.1
[*] Found CVE-2021-44228 vulnerability in D:\tmp\logstash-7.16.0\logstash-core\lib\jars\log4j-core-2.14.0.jar, log4j 2.14.0
[*] Found CVE-2021-44228 vulnerability in D:\tmp\logstash-7.16.0\vendor\bundle\jruby\2.5.0\gems\logstash-input-tcp-6.2.1-java\vendor\jar-dependencies\org\logstash\inputs\logstash-input-tcp\6.2.1\logstash-input-tcp-6.2.1.jar, log4j 2.9.1
[*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-7.7.3\solr-7.7.3\contrib\prometheus-exporter\lib\log4j-core-2.11.0.jar, log4j 2.11.0
[*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-7.7.3\solr-7.7.3\server\lib\ext\log4j-core-2.11.0.jar, log4j 2.11.0
[*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-8.11.0\contrib\prometheus-exporter\lib\log4j-core-2.14.1.jar, log4j 2.14.1
[*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-8.11.0\server\lib\ext\log4j-core-2.14.1.jar, log4j 2.14.1
Scanned 5047 directories and 26251 files
Found 9 vulnerable files
Completed in 0.42 seconds
5 つのステップで実行されます:
META-INF/maven/org.apache.logging.log4j/log4j-core/pom.properties エントリを探します。質問や問題がある場合は、このリポジトリに issue を作成してください。