
Scanner a binario singolo per CVE-2021-44228 (Log4Shell) che rileva versioni vulnerabili di log4j in file JAR/WAR/EAR e applica patch di mitigazione rimuovendo JndiLookup.class.

log4j2-scan è uno strumento da riga di comando a binario singolo per la scansione delle vulnerabilità CVE-2021-44228 e la patch di mitigazione. Supporta inoltre la scansione e la patch di file JAR annidati.
È sufficiente eseguire log4j2-scan.exe o log4j2-scan con il percorso della directory di destinazione.
Utilizzo
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.
Su Windows
log4j2-scan [--fix] target_path
Su Linux
./log4j2-scan [--fix] target_path
Su UNIX (AIX, Solaris e così via)
java -jar logpresso-log4j2-scan-1.3.1.jar [--fix] target_path
Se si aggiunge l'opzione --fix, questo programma copierà il file JAR originale vulnerabile in un file .bak e creerà un nuovo file JAR senza la voce org/apache/logging/log4j/core/lookup/JndiLookup.class. Nella maggior parte degli ambienti, la funzionalità di lookup JNDI non verrà utilizzata. Tuttavia, è necessario usare questa opzione a proprio rischio. È necessario arrestare qualsiasi processo JVM in esecuzione prima di applicare la patch. Avviare il processo JVM interessato dopo la correzione.
Se si desidera automatizzare il lavoro di patch, usare l'opzione --force-fix. Con questa opzione, questo programma non chiederà più conferma.
Il tag (mitigated) verrà visualizzato se la voce org/apache/logging/log4j/core/lookup/JndiLookup.class viene rimossa dal file JAR.
Se si aggiunge l'opzione --trace, questo programma stamperà tutte le directory e i file visitati. Usare questa opzione solo per il debug.
Su 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
Viene eseguito in 5 passaggi:
META-INF/maven/org.apache.logging.log4j/log4j-core/pom.properties nel file JAR.Se hai domande o problemi, apri una issue in questo repository.