卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。

摘要:
Log4j2再爆雷Log4j2这是没完没了了,栈长以为《玩大了!Log4j2.x再爆雷。。。》Log4j2.16.0是最终终结版本了,没想到才过多久又爆雷了:前两天栈长还说Log4j2.16.0是最安全的版本,没想到这么快就又打脸了,Log4j2.17.0横空出世。。。安全漏洞:CVE-2021-45105漏洞摘要Log4j团队又获悉了一个重要的安全漏洞CVE-2021-45105:CVE-2021-45105拒绝服务攻击漏洞安全等级高影响版本Log4j22.0-alpha1到2.16.0该漏洞已在支持Java8+版本的Log4j2.17.0中得到解决,请尽快升级。

Log4j2 再爆雷

Log4j2 这是没完没了了,栈长以为《玩大了!Log4j 2.x 再爆雷。。。》 Log4j 2.16.0 是最终终结版本了,没想到才过多久又爆雷了:

卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。第1张

前两天栈长还说 Log4j 2.16.0 是最安全的版本,没想到这么快就又打脸了,Log4j 2.17.0 横空出世。。。

卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。第2张

又来了。。Log4j2 这是中了新冠的毒?

这次又爆出来新的 DOS 拒绝服务攻击漏洞。。

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

安全漏洞: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 也在跟进此漏洞,界时新版本可以连带解决,等新版本发布,栈长再给大家解读,公众号Java技术栈第一时间推送,不要走开哦。

2、临时解决

如果你不想升级版本,可以考虑使用以下 2 种临时解决方案:

1)在 PatternLayout 日志配置中,替换上下文 Lookups 中的 ${ctx:loginId} 或者 $${ctx:loginId} 为线程上下文映射模式(%X, %mdc, or %MDC)。

2)或者,删除对上下文 Lookups 中对 ${ctx:loginId} or $${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!!!

这是不是最后一次版本不得而知,总之这个版本是必须升级的,或检查配置,使用临时解决方案,后续进展栈长也会第一时间跟进,关注公众号Java技术栈,公众号第一时间推送。

这也不能怪 Log4j2,详细可阅读:

Log4j2 维护者发声:没有工资,还要挨骂!!(我真是醉了!)

所以,用开源就要接受开源可能带来的影响,也不能责备开源人,都是成年人了,用不用是自己的选择,哪款产品没有漏洞呢?哪怕是商用产品。

版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2021最新版)

2.劲爆!Java 协程要来了。。。

3.玩大了!Log4j 2.x 再爆雷。。。

4.Spring Boot 2.6 正式发布,一大波新特性。。

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

免责声明:文章转载自《卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS7 添加FTP用户并设置权限Mac上在iterm2中使用ls时,出现Operation not permitted下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Spring中日志的使用(log4j)

我们在开发一般常见log4j这个日志文件,它的作用主要是把记录日志。使用在两种方式,一个是日志信息输出在控制台,另一种是把日志信息记录到指定的文件。如下是log4j.properties文件的基本内容: ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j...

2017年最受欢迎的十大开源黑客工具

八 戒推荐一 【黑客】cracer入侵入门到精通视频教程 刚刚过去的2017年,对于大多数信息安全从业人员来说是无话可说的一年,充斥各种狗血的开脑洞的剧情,可以出问题的地方全部都出了问题,从MongoDB数据库、到WiFi安全协议、英特尔处理器漏洞、到NSA的超级武器包、僵尸摄像头、会挖矿的海盗湾、邻居胖子发明的想哭勒索病毒…万幸的是,下半场黑客实在扛不住...

SSH常见错误

错误一: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletCon...

[ 中间件漏洞 ] Tomcat 管理界面弱口令+war后门部署

前言:   Tomcat 支持在后台部署war包,可以直接将webshell部署到web目录下,如果tomcat后台管理用户存在弱口令,这很容易被利用上传webshell。 漏洞复现: 漏洞原理:   Tomcat后台管理界面的用户配置文件为conf目录下的tomcat-users.xml。   登录Tomcat的后台管理界面,上传war包  上传成功...

AWVS安装与基础

--- 下一步 AWVS简介1.AWVS是一个自动化WEB应用程序安全测试工具,审计检查漏洞sql注入,xss夸站点脚本攻击和其他能被黑客利用的漏洞和网页应用2.为什么要用AWVS 黑客具备广泛攻击手段,sql注入,xss,文件包含,目录遍历,参数篡改,绕过等,用软件来解决功能简介1.整站扫描2.站点爬行3.发现目标4.子域名扫描5.盲SQL注射6.HTT...

初识Fastjson漏洞(环境搭建及漏洞复现)

目前网上的资源整理不是针对入门玩家,都需要一定的java漏洞调试基础,本文从一个简单的FastJson 漏洞开始,搭建漏洞环境,分析漏洞成因,使用条件等。从入门者的角度看懂并复现漏洞触发,拥有属于自己的一套漏洞调试环境。 0x01 Fastjson简介 Fastjson 是Alibaba的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Ja...