前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【紧急】继续折腾,Log4j再发2.1.6,强烈建议升级

【紧急】继续折腾,Log4j再发2.1.6,强烈建议升级

作者头像
Tom弹架构
发布2021-12-21 14:28:54
9380
发布2021-12-21 14:28:54
举报
文章被收录于专栏:Tom弹架构

背景

继前天正式发布的2.15.0之后,Apache log4j 2 团队宣布 Log4j 2.16.0 发布!

由于SLF4J适配兼容性的中断,Log4j 现在发布两个版本的SLF4J to Log4j的适配器。log4j-slf4j-impl对应 SLF4J 1.7.x 及更早版本;log4j-slf4j18-impl对应SLF4J 1.8.x 及更高版本一起使用。SLF4J-2.0.0 alpha 版本目前还不完全支持。

强烈推荐升级2.16.0。

修正错误

1、LOG4J2-3208:默认禁用 JNDI。需要 log4j2.enableJndi设置为 true 以允许 JNDI。无论是Log4j2还是其它使用了JNDI的Java类库中,在不受保护的上下文中使用JNDI都具有一个很大的问题安全风险。

2、LOG4J2-3211:完全删除对Message Lookups的支持。目的是采取强化措施以防止 CVE-2021-44228,此举措不是修复 CVE-2021-44228所必须的。

受漏洞影响的Apache项目

另外Apache 安全团队在今天公布了受log4j CVE-2021-44228影响的Apache项目。可以根据下面列表进行排查:

项目

是否受到影响

解决方案

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北洞

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 会在模式布局(Pattern Layout)中包含的消息或参数中自动解析 Lookups。这行为不再是默认值,必须通过指定启用%msg{lookup}。

Apache Log4j 2.16.0至少需要Java 8才能构建和运行。Log4j 2.12.1是最后一个支持Java 7的版本。Java 7不是Log4j团队的长期支持版本。

升级措施

本人在前几天紧急连载了关于此漏洞的修复教程: Apache Log4j任意代码执行漏洞安全风险升级修复教程 ,此方法依然有效。

如果你懒得看之前的文章,可以通过直接升级jar包的方式,加入如下依赖:

代码语言:javascript
复制
<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项目,只需修改版本号:

代码语言:javascript
复制
<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网站:

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

事件时间线

[2021/12/14] Apache log4j 2 团队宣布 Log4j 2.16.0 发布

[2021/12/13] 官方发布正式发布2.15.0,Java日志库Log4j2注入漏洞复现

[2021/12/11] Spring Boot应对Log4j2注入漏洞官方指南

[2021/12/10] 知名Java日志组件Log4j2爆出严重0 day漏洞

本文为“Tom弹架构”原创,转载请注明出处。技术在于分享,我分享我快乐!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tom弹架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档