Компания Veracode опубликовала результаты исследования актуальности критических уязвимостей в Java-библиотеке Log4j, выявленных в прошлом и позапрошлом годах. Изучив 38278 приложений, используемых в 3866 организациях, исследователи из Veracode обнаружили, что 38% из них используют уязвимые версии Log4j. Основной причиной продолжения применения устаревшего кода является встраивание в проекты старых библиотек или трудоёмкость миграции с уже неподдерживаемых веток на новые ветки, в которых нарушена обратная совместимость (судя по прошлому отчёту Veracode, 79% перенесённых в код проектов сторонних библиотек в последующем никогда не обновляются).
Выделены три основные категории приложений, использующих уязвимые версии Log4j:
- 2.8% приложений продолжают использовать версии Log4j с 2.0-beta9 по 2.15.0, содержащие уязвимость Log4Shell (CVE-2021-44228).
- 3.8% приложений используют выпуск Log4j2 2.17.0, в котором уязвимость Log4Shell устранена, но остаётся не исправленной уязвимость CVE-2021-44832, позволяющая организовать удалённое выполнение кода (RCE).
- 32% приложений используют ветку Log4j2 1.2.x, поддержка которой завершилось ещё в 2015 году. Данная ветка подвержена критическим уязвимостям CVE-2022-23307, CVE-2022-23305 и CVE-2022-23302, выявленным в 2022 году спустя 7 лет после прекращения сопровождения.