[Срочно] Продолжайте кидать, Log4j снова выпустит 2.16.0, настоятельно рекомендуется обновиться

Java задняя часть

задний план

После официального выпуска 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:

logging.apache.org/log4j/2.x/

график событий

[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.

Эта статья является оригиналом "Архитектуры бомбы Тома", пожалуйста, указывайте источник при перепечатке. Технология заключается в обмене, я разделяю свое счастье! Если у вас есть какие-либо предложения, вы также можете оставить комментарий или личное сообщение, Ваша поддержка является движущей силой для меня, чтобы упорствовать в создании. Обратите внимание на «архитектуру бомбы Тома», чтобы получить больше технической галантереи!

Нелегко быть оригинальным, и круто настаивать. Вы все это видели здесь. Не забудьте поставить лайк, добавить в закладки, посмотреть и подписаться одним щелчком мыши! Если вы считаете, что контент слишком сух, вы можете поделиться им и отправить своим друзьям, чтобы они питались и питались!