Log4j2漏洞信息最新跟进

前言

  一直在解决漏洞,连续发版,从最开始的 Log4j 2.15.0 到现在最新 2.17.0,大大小小的版本已经发了 10 个了,影响的周期已经接近两周了,目前还没看到收尾的迹象。。
这次应该是爆出来的第 4 个漏洞了:
• CVE-2021-45105(拒绝服务攻击漏洞,最新!)
• CVE-2021-45046(远程代码执行漏洞)
• CVE-2021-44228(远程代码执行漏洞)
• 信息泄漏漏洞(安全公司 Praetorian 发现)
后面 3 个在 Log4j 2.16.0 中已经得到解决,最新的请升级 2.17.0!!!

Log4j新漏洞解决方案

安全漏洞:CVE-2021-45105
Log4j 团队又获悉了一个重要的安全漏洞 CVE-2021-45105:

CVE-2021-45105 拒绝服务攻击漏洞
安全等级
影响版本 Log4j2 2.0-alpha1 到 2.16.0

该漏洞已在支持 Java 8+ 版本的 Log4j 2.17.0 中得到解决,请尽快升级。
漏洞详情:
  因没有防止自引用 lookups 的不受控制的递归,当日志配置使用带有上下文 Lookup 的非默认模式,例如:
$${ctx:loginId}
  此时,攻击者可以制作包含递归查找的恶意输入数据,导致 StackOverflowError 错误而终止进程,这也就是 DOS(Denial of Service)拒绝服务攻击。
从 Log4j 2.17.0 版本开始,只有配置中的 lookup 字符串才允许递归扩展,另外,在任何其他用法中,仅解析最顶级的 lookup,不解析任何嵌套的 lookups。

解决方案:
1、升级版本
立马升级到最新版本:Log4j 2.17.0
最新正式版本下载:
https://logging.apache.org/log4j/2.x/download.html
最新 Maven 依赖:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.0</version>
</dependency>

spring-boot-starter-log4j2 尚未更新,可以先覆盖其内置版本:

<properties>
  <log4j2.version>2.17.0</log4j2.version>
</properties>

Spring Boot 基础就不介绍了,推荐下这个实战教程:
https://github.com/javastacks/spring-boot-best-practice
  另外,Spring Boot 也在跟进此漏洞,界时新版本可以连带解决,等新版本发布,阿坤再给大家解读,关注博主第一时间推送,不要走开哦。
2、临时解决
如果你不想升级版本,可以考虑使用以下 2 种临时解决方案:
1)在 PatternLayout 日志配置中,替换上下文 Lookups 中的 ${ctx:loginId} 或者 KaTeX parse error: Can't use function '$' in math mode at position 69: …上下文 Lookups 中对 $̲{ctx:loginId} o…{ctx:loginId} 的引用,它们一般来自应用程序外部,如 HTTP Header 或用户输入。
总结
Log4j2 最近是魔怔了??
一直在解决漏洞,连续发版,从最开始的 Log4j 2.15.0 到现在最新 2.17.0,大大小小的版本已经发了 10 个了,影响的周期已经接近两周了,目前还没看到收尾的迹象。。
这次应该是爆出来的第 4 个漏洞了:
• CVE-2021-45105(拒绝服务攻击漏洞,最新!)
• CVE-2021-45046(远程代码执行漏洞)
• CVE-2021-44228(远程代码执行漏洞)
• 信息泄漏漏洞(安全公司 Praetorian 发现)
后面 3 个在 Log4j 2.16.0 中已经得到解决,最新的请升级 2.17.0!!!
这是不是最后一次版本不得而知,总之这个版本是必须升级的,或检查配置,使用临时解决方案,后续进展博主也会第一时间跟进,关注博主,第一时间推送。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>