
Обнаружение и исправление уязвимости log4j log4shell (CVE-2021-44228)
Этот инструмент предназначен для обнаружения и устранения уязвимости log4j log4shell (CVE-2021-44228) путем поиска и удаления класса JndiLookup из файлов .jar/.war/.ear без каких-либо зависимостей и бесплатно. Этот инструмент протестирован на: - Linux 32-бит и 64-бит - Windows 32-бит и 64-бит - OpenBSD 64-бит
Этот инструмент написан на языке программирования Go, что означает отсутствие зависимостей и готовые к запуску бинарные файлы, работающие везде.
Загрузите бинарные файлы (Windows, Linux, Darwin, OpenBSD) здесь https://github.com/nanitor/log4fix/releases/tag/v4.2.0
Сканирование файла на уязвимость
log4fix detect </path/to/file.war>
Сканирование файла на уязвимость и удаление уязвимого класса.
log4fix fix </path/to/file.war> --overwrite
Сканирование одной директории на уязвимость.
log4fix scan </path/to/dir>
Сканирование нескольких директорий на уязвимость.
log4fix scan </path/to/dir/1> </path/to/dir/2>
Сканирование директории на уязвимость и удаление уязвимых файлов. Примечание: эта команда перезаписывает файлы war/ear/jar, содержащие уязвимый класс, которые были найдены.
log4fix scan </path/to/dir> --fix
Сканирование директории на уязвимость и запись найденных уязвимых jar/ear/war файлов в указанный файл.
log4fix scan </path/to/dir> --output </path/to/text/file.txt>
Рекомендуется сделать резервную копию файлов перед их перезаписью. В Windows может потребоваться остановить службу перед применением исправления. После применения исправления службу следует перезапустить.
go build
Это функционально эквивалентно рекомендуемому исправлению
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
за исключением того, что он также может заходить в другие .jar/.war/.ear файлы и искать там файл log4j-core-*.jar, удаляя из него класс JndiLookup.
И, конечно, работает на всех платформах.