
Scanner de binário único para CVE-2021-44228 (Log4Shell) que detecta versões vulneráveis do log4j em arquivos JAR/WAR/EAR e aplica patches de mitigação removendo JndiLookup.class.

log4j2-scan é uma ferramenta de linha de comando de binário único para varredura e correção da vulnerabilidade CVE-2021-44228. Ela também suporta varredura e correção de arquivos JAR aninhados.
Basta executar log4j2-scan.exe ou log4j2-scan com o caminho do diretório de destino.
Uso
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.
No Windows
log4j2-scan [--fix] target_path
No Linux
./log4j2-scan [--fix] target_path
No UNIX (AIX, Solaris e outros)
java -jar logpresso-log4j2-scan-1.3.1.jar [--fix] target_path
Se você adicionar a opção --fix, este programa copiará o arquivo JAR original vulnerável para um arquivo .bak e criará um novo arquivo JAR sem a entrada org/apache/logging/log4j/core/lookup/JndiLookup.class. Na maioria dos ambientes, o recurso de lookup JNDI não será utilizado. No entanto, você deve usar esta opção por sua conta e risco. É necessário encerrar qualquer processo JVM em execução antes de aplicar a correção. Inicie o processo JVM afetado após a correção.
Se você quiser automatizar a tarefa de correção, use a opção --force-fix. Com esta opção, este programa não solicitará mais confirmação.
A tag (mitigated) será exibida se a entrada org/apache/logging/log4j/core/lookup/JndiLookup.class for removida do arquivo JAR.
Se você adicionar a opção --trace, este programa imprimirá todos os diretórios e arquivos visitados. Use esta opção apenas para depuração.
No 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
Executa em 5 etapas:
META-INF/maven/org.apache.logging.log4j/log4j-core/pom.properties no arquivo JAR.Se você tiver alguma dúvida ou problema, crie uma issue neste repositório.