背景
这几天为了应答《突发!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/lo…
最新 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 也跟进此破绽:
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 技术栈 ” 原创,原创实属不易,转载、援用本文内容请注明出处,剽窃者一律举报+投诉,并保留追究其法律责任的权力。
近期热文举荐:
1.1,000+ 道 Java 面试题及答案整顿(2021 最新版)
2. 别在再满屏的 if/ else 了,试试策略模式,真香!!
3. 卧槽!Java 中的 xx ≠ null 是什么新语法?
4.Spring Boot 2.6 正式公布,一大波新个性。。
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!