最新!Log4j 2.x 再发版,正式解决核弹级漏洞,又要熬夜了。。。
点击关注公众号,Java干货及时送达
背景
这几天为了应对《Apache Log4j2 报核弹级漏洞》,Log4j2 连续发布了两个 RC(Release Candidate)候选版本。
在第一次的 RC1 候选版本中,Log4j2 还存在漏洞绕过风险,官方随后又发布了 RC2,现在终于彻底解决了,2.15.0 版本转正,正式发布:
有没有被折腾过两次的?
Log4j 2.15.0 正式版来了,可真正用于生产环境,所以,现在你可能还要再折腾一次。。。
解决漏洞:CVE-2021-44228
漏洞原因:
Log4j2 中提供了Lookups 机制,用于添加一些特殊值到日志中,在 Lookups 机制中,由于 JNDI 功能没有对名称解析做限制,而某些协议是不安全的,可以允许远程代码执行,从而导致核弹级漏洞。
修复内容:
1、Log4j 2.15.0+ 现在默认将协议限制为仅 java、ldap 和 ldaps,并将 ldap 协议做访问限制了,默认仅允许访问本地服务器上的 Java 原始对象。
2、Log4j 2.15.0+ 现在默认禁用 Lookups 功能,虽然 Log4j 2.x 没有完全废除这项功能,但强烈建议大家不要启用它。
新特性
除了解决漏洞:CVE-2021-44228,Log4j 2.15.0 还有以下 3 个新特性:
支持仲裁器,可以有条件地启用 inclusion 或者 exclusion 日志配置部分; 支持 Jakarta EE 9; 大量性能提升;
下载升级
最新正式版本下载:
https://logging.apache.org/log4j/2.x/download.html
最新 Maven 依赖:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</dependency>
spring-boot-starter-log4j2 尚未更新,可以先覆盖其内置版本:
<properties>
<log4j2.version>2.15.0</log4j2.version>
</properties>
或者也不用升级 jar 包,先使用官方的解决参数先解决,参考:《突发!Apache Log4j2 报核弹级漏洞。。赶紧修复!!》,等 Spring Boot 发布新版本再更新即可。
Spring Boot 基础就不介绍了,推荐下这个实战教程:
https://github.com/javastacks/spring-boot-best-practice
另外,Spring Boot 也跟进此漏洞:
Spring Boot v2.5.8 & v2.6.2 将采用 Log4J v2.15.0 版本,界时可以解决此漏洞,等新版本发布,预计在 2021/12/23,栈长再给大家解读,公众号Java技术栈第一时间推送,不要走开哦。
总结
Log4j 2.15.0 转正了,发布正式版了,解决了 CVE-2021-44228 漏洞,还有 3 个新特性,如果你们已经升级解决了,不纠结是否正式版本,可以忽略此版本,不然你还要再折腾一次。。
如果你们用的 Spring Boot,可以等这个月 23 号的新版本,不过为了解决这个漏洞升级到最新的 Spring Boot 版本,这个值得大家商榷,或许不是大部分人的最佳选择。
好了,今天的分享就到这里了,后面栈长会分享更多好玩的 Java 技术和最新的技术资讯,关注公众号Java技术栈第一时间推送,我也将主流 Java 面试题和参考答案都整理好了,在公众号后台回复关键字 "面试" 进行刷题。
版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。
突发!Apache Log4j2 报核弹级漏洞。。
劲爆!Java 协程要来了。。。
JetBrains 发布下一代 IDE,IDEA 可以扔了
重磅!JDK 17 发布,正式免费。。面试官:Java 8 map 和 flatMap 的区别?
终于!Spring Cloud 2021 正式发布。。
推荐一款代码神器,代码量至少省一半!程序员精通各种技术体系,45岁求职难!
重磅!Spring Boot 2.6 正式发布
Spring Boot 学习笔记,这个太全了!
关注Java技术栈看更多干货