Читать первым в Telegram-канале «Код Дурова»
Несколько дней назад стало известно, что специалисты по вопросам кибербезопасности в Alibaba Cloud обнаружили в Log4j уязвимость нулевого дня, которая позволяет удалённо выполнить произвольный код и взломать серверы крупнейших компаний, а также миллионы устройств в интернете.
Уязвимость CVE-2021-44228 набрала 10 баллов из 10 возможных по шкале CVSS. По уверениям экспертов из LunaSec, эксплоит затронул серверы Apple, Amazon, Twitter, Steam, Tencent, Baidu, DIDI, JD, NetEase и тысячи других компаний. После этого в Log4j был выпущен экстренный патч под версией 2.15.0, который исправляет данную ошибку.
Однако это привело к обнаружению новой уязвимости (CVE-2021-45046), которая делает исправление безопасности бессмысленным:
Было обнаружено, что исправление для устранения CVE-2021-44228 в Apache Log4j 2.15.0 было неполным в некоторых конфигурациях не по умолчанию. Это может позволить злоумышленникам, имеющим контроль над входными данными Thread Context Map (MDC), [...] создать вредоносные входные данные с использованием шаблона JNDI Lookup, что приводит к DOS-атаке.
Оказалось, что если передавать строку не напрямую, а через промежуточную переменную, то библиотека Log4j будет так же бесконтрольно выполнять любой код в этой строке. Для защиты от атаки разработчики советуют обновить библиотеку до новейших версий 2.16 или 2.12.2.
Новый патч предполагает закрытие возможности подставлять в строки специально оформленный код. Тем временем за первые трое суток после того, как стало известно об уязвимости, произошло более 800 000 атак с попытками использовать её. Эксперты отмечают, что эксплоитом пользуются майнеры и вирусы-шифровальщики.