4

openLooKeng开源社区Apache Log4j2高危安全漏洞修复完成,建议用户升级

 2 years ago
source link: https://my.oschina.net/u/4742090/blog/5369692
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

近日,openLooKeng注意到Apache Log4j2反序列化远程代码执行漏洞(CVE ID为CVE-2021-44228),并成功进行修复。详细方案如下,建议所有用户升级。

Apache Log4j2远程代码执行漏洞修复解决方案

【漏洞描述】

Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并引入了大量丰富的特性。该日志框架被广泛地用于中间件、开发框架与Web应用中,用来记录日志信息。

由于组件存在 Java JNDI 注入漏洞,当程序将用户输入的数据记入日志时,攻击者通过构造特殊请求,来触发 Apache Log4j2 中的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任意代码。目前POC已公开,风险较高。

【漏洞等级】

高危,该漏洞影响范围极广,危害极大。 CVSS评分:9.8

【受影响版本】

Apache log4j 2 在 2.0 至 2.14.1 (均含)版本均受影响。

【openLooKeng漏洞排查】

问题排查一: ESconnector在运行时依赖log4j

继续排查openLooKeng最终打包server时的jar包,当前使用的是JDK自己的logging框架,没有使用log4j。 在这里插入图片描述

在对应的ES connector模块下,对lib库的分析,发现的确使用了log4j相关的库。 在这里插入图片描述

问题排查二:openLooKeng使用的是airlift,封装的JDK本身的log框架

在这里插入图片描述

同样对打包后的openLooKeng server lib库下所有的jar包进行梳理,可以看到没有log4j-api以及log4j-core。

在这里插入图片描述

问题排查三 :openLooKeng仓库ranger plugin代码

通过排查仓库的内容,并未发现相关log4j相关代码的依赖。 在ranger中的POM文件中,发现了部分关于log4j的版本声明,但是并未在后续的构建中使用。 在这里插入图片描述

在这里插入图片描述

当前openLooKeng ranger plugin依赖于apache ranger 2.1.0组件,而ranger 2.1.0组件依赖log4j2 2.13X版本,为间接依赖关系。

并且,当前ranger中,对于log4j有依赖的模块是agents-audit

在这里插入图片描述

openLooKeng的ranger plugin并不依赖log4j

【openLooKeng社区修复方案】

升级至最新组件:log4j-2.15.0,其中2.15.0的发布时间应该为2021-12-09 23:46的版本!

◎ 方案1 - 修改代码

针对ES connector 和Ranger plugin,更新代码,移除log4j的依赖。关联PR如下 :

https://gitee.com/openlookeng/hetu-core/pulls/1312

https://gitee.com/openlookeng/openlookeng-ranger-plugin/pulls/10

备注:由于Ranger社区尚未修复log4j问题,因此建议用户在使用ranger plugin时,按照方案2的建议配置openLooKeng参数。openLooKeng社区会在ranger社区修复log4j2问题之后更新ranger到最新版本。

◎ 方案2 - 修改配置规避问题

针对无法做代码改动的环境,如已在生产环境部署openLooKeng 1.4.0之前的版本。建议在JVM.config文件中,添加如下配置:

-Dlog4j2.formatMsgNoLookups=true

上述便是openLooKeng针对Apache Log4j2反序列化远程代码执行漏洞(CVE ID为CVE-2021-44228)所提供的修复方案,当前漏洞状态已修复。详细文档可参考: https://openlookeng.io/zh-cn/security/2021-1213/sa-v2.html

欢迎使用openLooKeng,如果您有任何疑问与建议,请在社区代码仓中提Issue,或加小助手进入专属交流群。

openLooKeng, Make Big Data Simplified

https://openlookeng.io

代码仓地址

https://gitee.com/openlookeng

https://github.com/openlookeng


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK