Log4j2 再爆雷
Log4j2 这是没完没了了,栈长以为《玩大了!Log4j 2.x 再爆雷。。。》 Log4j 2.16.0 是最终终结版本了,没想到才过多久又爆雷了:
文章图片
前两天栈长还说 Log4j 2.16.0 是最安全的版本,没想到这么快就又打脸了,Log4j 2.17.0 横空出世。。。
文章图片
又来了。。Log4j2 这是中了新冠的毒?
这次又爆出来新的 DOS 拒绝服务攻击漏洞。。
如果你想关注和学习最新、最主流的 Java 技术,可以持续关注公众号Java技术栈,公众号第一时间推送。
安全漏洞:CVE-2021-45105
漏洞摘要
Log4j 团队又获悉了一个重要的安全漏洞 CVE-2021-45105:
CVE-2021-45105 | 拒绝服务攻击漏洞 |
---|---|
安全等级 | 高 |
影响版本 | Log4j2 2.0-alpha1 到 2.16.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/lo...【卧槽!Log4j2 再爆雷,Log4j v2.17.0 横空出世。。。】最新 Maven 依赖:
org.apache.logging.log4j
log4j-core
2.17.0
spring-boot-starter-log4j2 尚未更新,可以先覆盖其内置版本:
2.17.0
Spring Boot 基础就不介绍了,推荐下这个实战教程:
https://github.com/javastacks...另外,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 发现)
这是不是最后一次版本不得而知,总之这个版本是必须升级的,或检查配置,使用临时解决方案,后续进展栈长也会第一时间跟进,关注公众号Java技术栈,公众号第一时间推送。
这也不能怪 Log4j2,详细可阅读:
Log4j2 维护者发声:没有工资,还要挨骂!!(我真是醉了!)所以,用开源就要接受开源可能带来的影响,也不能责备开源人,都是成年人了,用不用是自己的选择,哪款产品没有漏洞呢?哪怕是商用产品。
版权声明: 本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究其法律责任的权利。近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2021最新版)
2.劲爆!Java 协程要来了。。。
3.玩大了!Log4j 2.x 再爆雷。。。
4.Spring Boot 2.6 正式发布,一大波新特性。。
5.《Java开发手册(嵩山版)》最新发布,速速下载!
觉得不错,别忘了随手点赞+转发哦!
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)