没完了?Log4j2 再爆 DOS 攻击漏洞,最新 2.17.0 版上线

2022-04-07 14:45:00 浏览数 (1)

大家好,我是一航;

这什么时候才是个头...

Apache Log4j2 最新版(2.16.0)再爆漏洞,本以为2.16.0更新之后:Log4j 再发 2.16.0 新版,彻底移除 Message Lookups;应该是安全了,结果...脸疼!又新爆出了DOS攻击漏洞;

这两周,不仅log4j团队修复漏洞忙,咱这升级版本也忙的不可开交了。

Maven仓库已经更新了最新的2.17.0 的版本,并且还标记出了历史版本中包含的漏洞数量及漏洞详情:

https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core

漏洞说明

详细细节可参考官网:https://logging.apache.org/log4j/2.x/index.html

漏洞摘要

Log4j 团队已获悉一个安全漏洞 CVE-2021-45105

CVE-2021-45105

拒绝服务攻击漏洞

安全等级

影响版本

2.0-alpha1 到 2.16.0

漏洞详情

因为没有防止自引用查找的不受控制的递归。当日志配置使用带有上下文查找的非默认模式时;

例如:$${ctx:loginId}

攻击者可以制作包含递归查找的恶意输入数据,导致 StackOverflowError 异常,将终止进程。这也称为 DOS(拒绝服务)攻击

更新升级说明

CVE-2021-45105漏洞已经在 v2.17.0 中得到了修复,建议尽快更新。

手动下载更新

地址:https://logging.apache.org/log4j/2.x/download.html

Maven更新

地址:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.17.0

代码语言:javascript复制
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.0</version>
</dependency>
SpringBoot更新
代码语言:javascript复制
<log4j2.version>2.17.0</log4j2.version>

临时解决

如果你不想更新最新版本,可以采用以下方式进行临时解决。

  • 在 PatternLayout 日志配置中,替换上下文 Lookups 中的 {ctx:loginId} 或者
  • 删除对上下文 Lookups 中对 {ctx:loginId} 或

感谢

虽然,在这短短的两周时间内,Apache Log4j2已经更新了3个大版本,多个小版本,短时间的几次升级,确实给我们带来了不少的工作量;但是,Log4j整个修复的过程,已经非常及时了;相比于他们,咱的这点更新的工作量,其实也就不算什么了;程序员,也应该都经历过线上服务出现紧急Bug的情况,那种心理压力总是让人印象深刻,更何况Log4j还是使用范围这么广的开源框架,压力可想而知...

上周看到Log4j的维护者在网上抱怨,没工资还得挨大家痛骂:

Log4j 维护者一直在为缓解措施而失眠:修复、文档、CVE、对查询的回复等。然而,没有什么能阻止人们痛骂(bush)我们,因为这份没有报酬的工作。其实我们都不喜欢这个出于向后兼容性问题而需要保留的功能(指 JNDI )。

这个现象就很让人不能理解;作为同行,按理说这个情况大家应该是能理解的,我想没有那个程序员是敢保证自己写的程序永远都没有Bug;开源本身就是一个用爱发电的行为,是需要大家的鼓励、支持以及理解,然后一起努力把它维护的更好;如果都是白piao时不言谢,出问题就骂娘,那谁还会没事儿找事儿去选择开源呢?

所以,在此由衷的向这些无私奉献的同行说声:感谢!辛苦了!

0 人点赞