

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.
على ويندوز
log4j2-scan [--fix] target_path
على لينكس
./log4j2-scan [--fix] target_path
على يونكس (AIX, Solaris، وما إلى ذلك)
java -jar logpresso-log4j2-scan-1.3.1.jar [--fix] target_path
إذا أضفت خيار --fix، فسيقوم هذا البرنامج بنسخ ملف JAR الأصلي المعرّض للثغرة إلى ملف .bak، وإنشاء ملف JAR جديد بدون إدخال org/apache/logging/log4j/core/lookup/JndiLookup.class. في معظم البيئات، لن يتم استخدام ميزة بحث JNDI. ومع ذلك، يجب عليك استخدام هذا الخيار على مسؤوليتك الخاصة. من الضروري إيقاف أي عملية JVM قيد التشغيل قبل تطبيق التصحيح. أعد تشغيل عملية JVM المتأثرة بعد الإصلاح.
إذا كنت تريد أتمتة مهمة التصحيح، فاستخدم خيار --force-fix. مع هذا الخيار، لن يطلب هذا البرنامج تأكيدًا بعد الآن.
سيتم عرض وسم (mitigated) إذا تمت إزالة إدخال org/apache/logging/log4j/core/lookup/JndiLookup.class من ملف JAR.
إذا أضفت خيار --trace، فسيطبع هذا البرنامج جميع الدلائل والملفات التي تمت زيارتها. استخدم هذا الخيار فقط لأغراض التصحيح.
على ويندوز:
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 من ملف JAR.إذا كان لديك أي سؤال أو مشكلة، فأنشئ issue في هذا المستودع.