Специалисты Google просканировали Maven Central, крупнейший на сегодняшний день репозиторий пакетов Java, и обнаружили, что 35 863 из них используют уязвимые версии библиотеки Log4j. Пакеты уязвимы либо для исходного эксплоита Log4Shell (CVE-2021-44228), либо для второй RCE-проблемы, обнаруженной уже после выхода патча (CVE-2021-45046).
Исследователи отмечают, что обычно после обнаружения очередной уязвимости выясняется, что она затрагивает только около 2% содержимого Maven Central. Однако 35 000 уязвимых перед Log4Shell пакетов, это примерно 8% от всего содержимого Maven Central, и эксперты подчеркивают, что процент «огромен».
В настоящее время разработчики 4620 из 35 863 пакетов (13% от общего числа уязвимых пакетов) уже обновили свои продукты. Для сравнения исследователи приводят схожую статистику прошлых Java-уязвимостей, когда исправления получали примерно 48% библиотек.
«Этот статистический показатель больше любого другого, что свидетельствует об огромных усилиях разработчиков опенсорсного ПО, ИБ-команд и потребителей по всему миру», — говорят аналитики.
Увы, специалисты пишут, что проблема Log4Shell вряд ли будет исправлена полностью в ближайшие годы. Основная сложность заключается в том, что Log4j не всегда является прямой зависимостью и зачастую представляет собой зависимость от другой зависимости. В таких ситуациях разработчикам уязвимых пакетов приходится ждать, пока другие разработчики обновят свои приложения, что в некоторых случаях растягивается на недели и даже месяцы.
Так, согласно собранной Google статистике, Log4j является прямой зависимостью только для 7000 из 35 000 пакетов, то есть многим разработчикам, скорее всего, придется отключить косвенные зависимости, которые не были обновлены для использования безопасных альтернатив.