查看原文
其他

Log4j2又爆雷!2.16.0存在DOS攻击风险,升级到2.17.0可解决!

SpringForAll 2022-07-05

The following article is from 程序猿DD Author 酷霸王

本以为,经过上周的2.16.0版本升级,Log4j2的漏洞修复工作,大家基本都要告一段落了。

万万没想到,就在周末,Log4j官方又发布了新版本:2.17.0

该版本主要修复安全漏洞:CVE-2021-45105


影响版本:2.0-alpha1 至 2.16.0(1.x用户继续忽略)
该漏洞只有当日志配置使用带有Context Lookups的非默认 Pattern Layout(例如$${ctx:loginId})时,攻击者可以通过构造包含递归查找的恶意输入数据,触发无限循环,导致 StackOverflowError,最终进程崩溃。
这次漏洞受影响的只有log4j-core,仅使用log4j-api的程序不需要担心。所以,大家可以通过升级log4j-core来修复该漏洞的
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.0</version>
</dependency>
当然,如果你是Spring Boot影响,按照之前一行配置搞定Spring Boot项目的 log4j2 核弹漏洞!分享的方法可以更方便的升级。如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/ 。
如果目前还不方便升级版本的话,也可以采用下面的两种方法来缓解此漏洞:
  • 在日志配置的 PatternLayout 中,%X、%mdc 或 %MDC 来替换 ${ctx:loginId} $${ctx:loginId} 等Context Lookups

  • 在使用外部数据(HTTP Header或用户输入等)的地方,删除对Context Lookups的引用(如 ${ctx:loginId} 或 $${ctx:loginId} )

好了,不多说了,大家抓紧自查下,最好必要的防护措施,争取早点睡个好觉!




往期推荐



log4j2的核弹漏洞是如何被发现的?

为什么加上配置就可以更新log4j2的版本?

Log4j2再发新版本2.16.0,完全删除Message Lookups的支持!

一行配置搞定Spring Boot项目的 log4j2 核弹漏洞!

紧急!Log4j 史诗级漏洞来袭,已引起大规模入侵,速速自查!



技术交流群
最近有很多人问,有没有读者交流群,想知道怎么加入。加入方式很简单,有兴趣的同学,只需要点击下方卡片,回复“加群“,即可免费加入我们的高质量技术交流群!

点击阅读原文,送你免费Spring Boot教程!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存