Log4j2 又爆出重大bug,log4j-2.17.0-rc1 紧急发布

一、框架简介

Apache Log4j 2是一款优秀的Java日志框架。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。

二、漏洞清单

  1. 由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。[漏洞链接](CVE - CVE-2021-44228 (mitre.org))
  2. 安全公司 Praetorian 发现 2.15.0 存在一个更严重的漏洞——信息泄露漏洞,可用于从受影响的服务器下载数据。[漏洞链接](Log4j 2.15.0 stills allows for exfiltration of sensitive data - Praetorian)
  3. Apache Log4j2 版本 2.0-alpha1 到 2.16.0 没有防止自引用查找的不受控制的递归。当日志配置使用带有上下文查找的非默认模式布局(例如,$${ctx:loginId})时,控制线程上下文映射 (MDC) 输入数据的攻击者可以制作包含递归查找的恶意输入数据,导致 StackOverflowError 将终止进程。这也称为 DOS(拒绝服务)攻击。[漏洞链接](CVE - CVE-2021-45046 (mitre.org))

三、影响范围

Apache Log4j 2.x 以上

四、修复措施

建议排查Java应用是否引入log4j-api , log4j-core 两个jar,若存在使用,极大可能会受到影响,强烈建议受影响用户尽快进行防护 。

4.1升级Apache Log4j 2所有相关应用到最新的log4j-2.17.0-rc1

升级Apache Log4j 2所有相关应用到最新的 log4j-2.17.0-rc1 版本,地址:Release log4j-2.17.0-rc1 · apache/logging-log4j2 · GitHub

4.2 升级已知受影响的应用及组件,如:

1. spring-boot-strater-log4j2
2.  Apache Solr
3.  Apache Flink
4.  Apache Druid
复制代码

五、紧急缓解措施

如果还来不及更新版本修复,可通过下面的方法紧急缓解问题

(1) 修改jvm参数 
-Dlog4j2.formatMsgNoLookups=true

(2) 修改配置:log4j2.formatMsgNoLookups=True

(3) 将系统环境变量 
FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true

六、感谢

辛苦了 log4j2 的社区维护者,加班加点的干活,无私奉献! 2周发了3个版本,从2.15---->2.16--->2.17,希望有朝一日也能给开源社区做点贡献!

 

全部评论

相关推荐

12-06 01:10
已编辑
哈尔滨工程大学 Java
一面问的真细,二面不知为啥变双机位。9.29快手主站平时怎么学习 AI 的,国内外知名大模型,实习公司都用的什么大模型,怎么评估效果的java池化思想,线程池构造方法的核心参数,线程池中阻塞队列注意事项,submit方法参数和执行逻辑,shutdown和shutdownnow,核心线程允许过期吗threadlocal底层,为什么key是弱引用,key回收了再get或者set这个value会怎样aqs,如何保证公平性java代理java堆划分,新生代还有别的晋升老年代的情况吗,什么时候触发gc,gc失败抛什么异常,如何排查oom,导出dump命令redis数据结构,哪个底层是跳表,和其他数据结构对比布隆过滤器会出现大key问题吗,你咋实现的布隆过滤器你怎么实现redis分布式锁,可重入,续期聚簇索引非聚簇索引select语句会加锁吗,怎么实现的不加锁undolog redolog binlog怎么能让select加锁,update这个范围加的什么锁,update一条呢手撕简单01背包,接雨水10.10快手主站意图识别用的哪个大模型,走到意图和rag的比例,faq是点击的吗自然语言怎么识别的gap一年干啥了,转正怎么样没跟组里提意向吗,研究生研究方向是传统算法吗,会大模型微调吗注册场景为什么用布隆过滤器,原理分布式锁底层的key怎么拼的,value里是什么redis持久化zset底层mysql索引结构,一个表三个字段有主键唯一索引和没索引的字段会有几个b+树,聚簇索引非聚簇索引存的啥无手撕
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务