背景

这几天为了应对《突发!Apache Log4j2 报核弹级漏洞。。赶紧修复!!》,Log4j2 连续发布了两个 RC(Release Candidate)候选版本,1 个正式版本。

在第一次的 RC1 候选版本中,Log4j2 还存在漏洞绕过风险,官方随后又发布了 RC2,后面就发布了 Log4j 2.15.0 正式版本,可用于生产环境,正式解决了核弹极漏洞。

今天栈长打开公众号Java技术栈,又有粉丝留言说,2.16.0 发布了!!

栈长前往一看:

我天!Log4j 又在搞什么鬼?这又发了 3 个版本??

2 个候选版本,1 个正式版本:2.16.0

是的,又一个正式版本 Log4j 2.16.0 发布了,可用于生产环境。。

下面来看下 2.15.0 – 2.16.0 两个版本都修复了啥内容。

解决漏洞:CVE-2021-44228

漏洞原因:

Log4j2 中提供了Lookups 机制,用于添加一些特殊值到日志中,在 Lookups 机制中,由于 JNDI 功能没有对名称解析做限制,而某些协议是不安全的,可以允许远程代码执行,从而导致核弹级漏洞。

2.15.0 修复内容:

1、Log4j 2.15.0+ 现在默认将协议限制为仅 java、ldap 和 ldaps,并将 ldap 协议做访问限制了,默认仅允许访问本地服务器上的 Java 原始对象。

2、Log4j 2.15.0+ 现在默认禁用 Lookups 功能,虽然 Log4j 2.x 没有完全废除这项功能,但强烈建议大家不要启用它。

2.16.0 修复内容:

1、默认禁用 JNDI 功能。

2、移除消息的 Lookups 功能。

总结

2.15.0 只是对危险功能做了限制和默认禁用,2.16.0 就狠了,干脆直接干掉了。

2.16.0 这次更新也是很有必要的,直接斩草除根,将未知风险扼杀在摇篮里,这也是为了防止用户不小心开启,因为漏洞过去,大家就会疏于防范,在不注意的情况下又会造成漏洞。

果然是核弹级漏洞,大大小小版本搞了好些个了。。这次应该是最后一次的修复版本了吧?大家有没有被折腾过多次的?所以,如果有必要,你可能还要再折腾一次。。。

如何下载、升级、修复,以及 Spring Boot 应对方案,可参考栈长之前分享的文章:

如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java技术栈,公众号第一时间推送。

好了,今天的分享就到这里了,后面栈长还会持续跟进,我也将主流 Java 面试题和参考答案都整理好了,在公众号后台回复关键字 “面试” 进行刷题。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注