本以为,经过上周的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来修复该漏洞的
org.apache.logging.log4j
log4j-core
2.17.0
当然,如果你是Spring Boot影响,按照之前一行配置搞定Spring Boot项目的 log4j2 核弹漏洞!分享的方法可以更方便的升级。如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程。
如果目前还不方便升级版本的话,也可以采用下面的两种方法来缓解此漏洞:
- 在日志配置的 PatternLayout 中,用 %X、%mdc 或 %MDC 来替换 ${ctx:loginId} 或$${ctx:loginId} 等Context Lookups
- 在使用外部数据(HTTP Header或用户输入等)的地方,删除对Context Lookups的引用(如 ${ctx:loginId} 或 $${ctx:loginId} )
欢迎关注我的公众号:程序猿DD,分享其他地方看不到的知识与思考
推荐阅读
- VS Code 2022路线图(大量Spring Boot优化提上日程!难道是被JB Code吓到了())
- Spring Boot 3.0.0 发布第一个里程碑版本M1,你的 Java 升到17 了吗()
- 稀疏数组与数组的关系与转化
- Synchronized的底层实现原理(看这篇就够了)
- main函数你到底知道多少
- 比postman更好用的API调试工具?apifox,永远滴神
- Dubbo拓展点加载机制
- Spring boot 2.0的Redis缓存应用
- 保姆级教程,终于搞懂脏读、幻读和不可重复读了!
- Spring Boot 2 中的默认日志管理与 Logback 配置详解