задний план
После официального выпуска 2.15.0 позавчера команда Apache log4j 2 объявила о выпуске Log4j 2.16.0!
Из-за нарушения совместимости адаптера SLF4J Log4j теперь выпускает две версии адаптера SLF4J — Log4j. log4j-slf4j-impl работает с SLF4J 1.7.x и более ранними версиями, log4j-slf4j18-impl работает с SLF4J 1.8.x и более поздними версиями. Альфа-версия SLF4J-2.0.0 еще не полностью поддерживается.
Настоятельно рекомендуется обновиться до 2.16.0.
Исправить ошибки
1. LOG4J2-3208: JNDI отключен по умолчанию. Требуется, чтобы для log4j2.enableJndi было установлено значение true, чтобы разрешить JNDI. Будь то Log4j2 или любая другая библиотека Java, использующая JNDI, использование JNDI в незащищенном контексте имеет большой риск для безопасности.
2. LOG4J2-3211: полностью удалена поддержка поиска сообщений. Цель состоит в том, чтобы принять меры по усилению безопасности для предотвращения CVE-2021-44228, что не является необходимым для исправления CVE-2021-44228.
Проекты Apache, затронутые уязвимостью
Кроме того, группа безопасности Apache объявила сегодня о проектах Apache, затронутых log4j CVE-2021-44228. Вы можете проверить по следующему списку:
проект | Это затронуто | решение |
---|---|---|
Apache Archiva | да | Официальный релиз 2.2.6 решит эту проблему. |
Apache Druid | да | Обновление до 0.22.1 |
Apache EventMesh | да | Пока нет четкого плана |
Apache lceberg | нет | |
Apache Flink | да | Пока нет четкого плана |
Apache Fortress | да | Обновление до 2.0.7 |
Apache Geode | да | Обновление до 1.12.6, 1.13.5, 1.14.1 |
Apache Guacamole | нет | |
Apache Hadoop | нет | Использование log4j 1.x |
Apache Hive | да | Пока нет четкого плана |
Apache Jena | да | Пока нет четкого плана |
Apache JMeter | да | Пока нет четкого плана |
Apache JSPWiki | да | Пока нет четкого плана |
Apache Log4J1.2 | Есть похожие уязвимости | Ссылаясь на уязвимость CVE-2021-4104, JMS называет JNDI North Cave. |
Apache Log4J2.x | да | Обновление до 2.16.0 |
Apache Log4Net | нет | |
Apache OFBiz | да | Обновление до 18.12.03 |
Apache Ozone | да | Обновление до 1.2.1 |
Apache skyWalking | да | Обновление до 8.9.1 |
Apache Solr | да | Обновление до 8.11.1 |
Apache Spark | нет | Использование log4j 1.x |
Apache Struts | да | Пока нет четкого плана |
Apache Tomcat | нет | |
Apache TrafficControl | да | Пока нет четкого плана |
Apache ZooKeeper | нет | Использование log4j 1.x |
Apache Calcite Avatica | да | Обновление до 1.20.0 |
Apache CloudStack | нет |
До версии 2.15.0 Log4j автоматически анализировал запросы в сообщениях или параметрах, содержащихся в макете шаблона. Это поведение больше не используется по умолчанию, и его необходимо включить, указав %msg{lookup}. Для сборки и запуска Apache Log4j 2.16.0 требуется как минимум Java 8. Log4j 2.12.1 — последняя версия, поддерживающая Java 7. Java 7 не является выпуском долгосрочной поддержки от команды Log4j.
Меры по обновлению
Несколько дней назад я срочно опубликовал руководство по исправлению этой уязвимости: Apache Log4j Уязвимость, связанная с выполнением произвольного кода, Обновление и устранение угроз безопасности. Учебник, этот метод все еще действителен.
Если вам лень читать предыдущие статьи, вы можете напрямую обновить пакет jar и добавить следующие зависимости:
<properties>
<java.version>1.8</java.version>
<log4j2.version>2.16.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
</dependencies>
Если у вас проект SpringBoot, просто измените номер версии:
<properties>
<java.version>1.8</java.version>
<log4j2.version>2.16.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
</dependencies>
использованная литература
Для получения полной информации об Apache Log4j2, в том числе о том, как отправлять отчеты об ошибках, исправления или предложения по улучшению, посетите веб-сайт Apache Apache Log4j2:
график событий
[14/12/2021] Команда Apache log4j 2 объявляет о выпуске Log4j 2.16.0
[13.12.2021] Официальный выпуск 2.15.0, повторение уязвимости внедрения Log4j2 в библиотеке журналов Java
[11/12/2021] Официальное руководство Spring Boot по уязвимости внедрения Log4j2
[10.12.2021] Серьезная 0-day уязвимость в известном компоненте ведения журналов Java Log4j2.
Эта статья является оригиналом "Архитектуры бомбы Тома", пожалуйста, указывайте источник при перепечатке. Технология заключается в обмене, я разделяю свое счастье! Если у вас есть какие-либо предложения, вы также можете оставить комментарий или личное сообщение, Ваша поддержка является движущей силой для меня, чтобы упорствовать в создании. Обратите внимание на «архитектуру бомбы Тома», чтобы получить больше технической галантереи!
Нелегко быть оригинальным, и круто настаивать. Вы все это видели здесь. Не забудьте поставить лайк, добавить в закладки, посмотреть и подписаться одним щелчком мыши! Если вы считаете, что контент слишком сух, вы можете поделиться им и отправить своим друзьям, чтобы они питались и питались!