【紧急】继续折腾,Log4j再发2.1.6,强烈建议升级
背景
继前天正式发布的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包的方式,加入如下依赖:
<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网站:
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弹架构”原创,转载请注明出处。技术在于分享,我分享我快乐!
如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。
原创不易,坚持很酷,都看到这里了,小伙伴记得点赞、收藏、在看,一键三连加关注!如果你觉得内容太干,可以分享转发给朋友滋润滋润!
【紧急】继续折腾,Log4j再发2.1.6,强烈建议升级的更多相关文章
- 【紧急】Log4j又发新版2.17.0,只有彻底搞懂漏洞原因,才能以不变应万变,小白也能看懂
1 事件背景 经过一周时间的Log4j2 RCE事件的发酵,事情也变也越来越复杂和有趣,就连 Log4j 官方紧急发布了 2.15.0 版本之后没有过多久,又发声明说 2.15.0 版本也没有完全解决 ...
- Log4j配置发邮件功能
# 发送日志到指定邮件log4j.appender.mail=org.apache.log4j.net.SMTPAppenderlog4j.appender.mail.Threshold=DEBUGl ...
- spring-data-redis的事务操作深度解析--原来客户端库还可以攒够了事务命令再发?
一.官方文档 简单介绍下redis的几个事务命令: redis事务四大指令: MULTI.EXEC.DISCARD.WATCH. 这四个指令构成了redis事务处理的基础. 1.MULTI用来组装一个 ...
- Log4j2再发新版本2.16.0,完全删除Message Lookups的支持,加固漏洞防御
昨天,Apache Log4j 团队再次发布了新版本:2.16.0! 2.16.0 更新内容 默认禁用JNDI的访问,用户需要通过配置log4j2.enableJndi参数开启 默认允许协议限制为:j ...
- WPF ScrollViewer(滚动条) 自定义样式表制作 再发一套样式 细节优化
艾尼路 出的效果图 本人嵌套 WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化) 源代码
- Delphi 实现无窗口移动(发WM_NCHITTEST消息计算,然后再发WM_SYSCOMMAND消息,带参数SC_DRAGMOVE)
procedure imgListMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ...
- Java测试代码(很不完整,建议大家别看,过几天会再发一次难的版本)
package ATM; import java.io.BufferedReader; import java.io.InputStreamReader; class Account{ priv ...
- Log4j未平,Logback 又起!再爆漏洞?
前段时间 Log4j接连爆漏洞的事儿相比把大家都折腾的不轻,很多开发都被连夜叫起来修复漏洞.这几天终于平复一些了. 可是,昨晚,忽然看到技术群和朋友圈,有人开始聊Logback 又爆漏洞了. 这是什么 ...
- Java中log4j的使用
前言 距离上一篇文章又过去好长时间了,这段时间一直忙于工作,已经从net彻底转向Java了.工作也慢慢的步入正轨了,自己独自完成了一个小项目,不过工作中遇到了一些问题,还是得到了同学和同事的帮助.本来 ...
随机推荐
- 通过python来获取网页状态
#!/usr/bin/python import sys,httplibfrom optparse import OptionParserusageString = "Usage: %pro ...
- 浅讲.Net 6之ConfigurationManager
介绍 本节为大家带来.NET 6新增的ConfigurationManager,很多人好奇为啥要讲这个,读取加载配置信息都随手就来了,我们往下看一下. 翻译:这添加了 ASP.NET Core 的新 ...
- Ubuntu文件系统结构
/bin: bin是Binary的缩写.存放系统中最常用的可执行文件(二进制). /boot: 这里存放的是linux内核和系统启动文件,包括Grub.lilo启动器程序. /dev: dev是Dev ...
- vue属性绑定不能用双括号表达式
- CF708E Student's Camp
麻麻我会做*3100的计数了,我出息了 考虑朴素DP我们怎么做呢. 设\(f_{i,l,r}\)为第\(i\)层选择\(l,r\)的依旧不倒的概率. \(q(l,r)\)表示经历了\(k\)天后,存活 ...
- 查找 Search
如果值域小一点. 那么我们有一个很精妙的做法. 分块完维护数字\(cnt\),和一个\(bitset\)信息. 然而小不得. 那么我们考虑维护后缀\(nxt_i\),表示第\(i\)位后,最近的\(a ...
- (转载) IBM DB2数据库odbc配置步骤详解
[IT168 技术] 首先安装IBM DB2 odbc driver 1):可以单独下载DB2 Run-Time Client,大约(86.6m),安装后则odbc驱动程序安装成功.下载地址:ftp: ...
- WINDOWS中使用svn
官网:https://tortoisesvn.net/index.zh.html (SVN安装包) 然后下载对应的64位安装包(语言包) 安装完后运行 可以存到D盘,新建一个文件夹存放 右键桌面会多 ...
- 《Redis设计与实现》知识点目录
Redis设计与实现 第一部分 数据结构与对象 第二章 简单动态字符串 p8 简单动态字符串SDS 2.1 SDS的定义 p9 每个sds.h/sdshdr结构表示一个SDS值 2.2 SDS与C字符 ...
- 8.7 进程间的通讯:管道、消息队列、共享内存、信号量、信号、Socket
进程间的通讯 进程间为什么需要通讯? 共享数据.数据传输.消息通知.进程控制 进程间的通讯有哪些类型? 首先,联系前面讲过的知识,进程之间的用户地址空间是相互独立的,不能进行互相访问,但是,内核空间却 ...