Фонд Apache Software Foundation выпустил критическое обновление безопасности для своей широко используемой библиотеки ведения журналов Log4j. Причиной послужила новая уязвимость, получившая идентификатор CVE-2025-68161. Она связана с отсутствием проверки имени хоста в протоколе TLS и затрагивает ключевой компонент для сетевой отправки логов.
Детали уязвимости
Проблема была обнаружена в компоненте «Socket Appender» библиотеки Apache Log4j Core. Этот компонент отвечает за отправку данных журналов по сети на центральный сервер. Уязвимость затрагивает версии от 2.0-beta9 до 2.25.2 включительно. Безопасная версия, полностью устраняющая недостаток, - 2.25.3. Эксперты оценили серьёзность уязвимости в 6.3 балла по шкале CVSS, что соответствует среднему уровню риска.
В стандартной ситуации при использовании защищённого соединения по протоколу TLS программное обеспечение обязано проверять сертификат сервера. В частности, оно сверяет имя хоста в сертификате с ожидаемым адресом назначения. Эта процедура подтверждает подлинность сервера и предотвращает перехват данных. Однако исследователи выяснили, что Log4j в указанных версиях не выполняет эту критически важную проверку.
Примечательно, что сбой происходит даже при явном включении соответствующей настройки "verifyHostName" или системного свойства "log4j2.sslVerifyHostName". По сути, библиотека игнорирует инструкцию администратора о необходимости двойной проверки подлинности сервера. Это упущение открывает путь для атак типа «человек посередине» (Man-in-the-Middle, MitM).
Если злоумышленнику удастся встать между клиентским приложением и сервером журналов, он сможет перехватить трафик. Для успешной атаки ему достаточно иметь любой действительный сертификат, выпущенный доверенным центром сертификации. Поскольку Log4j не проверяет соответствие имени в сертификате целевому хосту, он ошибочно примет сервер злоумышленника за законный и начнёт передавать ему данные журналов.
Последствия эксплуатации этой уязвимости могут быть весьма серьёзными. Журналы приложений часто содержат высокочувствительную техническую информацию, данные для отладки, а в некоторых случаях и пользовательские данные. Перехватив эти сведения, хакеры могут составить карту внутренней сети организации или выявить другие уязвимости для последующей атаки. Таким образом, один пробел в безопасности цепочки логирования может стать отправной точкой для более масштабного компрометирования системы.
Уязвимость была обнаружена независимым исследователем безопасности Самули Лейноненом и сообщена через программу вознаграждений за ошибки Apache Log4j (Apache Log4j Bug Bounty Program). В ответ команда Apache оперативно выпустила патч. Новая версия Log4j Core 2.25.3 обеспечивает принудительное и корректное выполнение проверки имени хоста.
Специалисты настоятельно рекомендуют всем пользователям немедленно обновить библиотеку до версии 2.25.3. Своевременное применение исправления - самый эффективный способ устранения риска. Если немедленное обновление по каким-либо причинам невозможно, администраторам следует применить временные меры по снижению угрозы. В частности, рекомендуется ограничить «хранилище доверенных сертификатов» (trust store), включив в него только те сертификаты, которые необходимы для легитимного обмена данными. Этот подход снизит вероятность того, что сертификат злоумышленника будет воспринят системой как доверенный.
Данный инцидент вновь подчёркивает важность безопасности вспомогательных компонентов, таких как системы логирования. Они часто остаются без должного внимания, хотя через них проходит конфиденциальная информация. Регулярное обновление всех зависимостей, включая библиотеки для ведения журналов, должно быть неотъемлемой частью политики кибербезопасности любой организации.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-68161
- https://logging.apache.org/security.html#CVE-2025-68161
- https://github.com/apache/logging-log4j2/pull/4002
- https://logging.apache.org/cyclonedx/vdr.xml
- https://logging.apache.org/log4j/2.x/manual/systemproperties.html#log4j2.sslVerifyHostName
- https://logging.apache.org/log4j/2.x/manual/appenders/network.html#SslConfiguration-attr-verifyHostName
- https://lists.apache.org/thread/xr33kyxq3sl67lwb61ggvm1fzc8k7dvx