产品安全漏洞说明及方案 产品安全漏洞说明及方案
01_产品安全漏洞说明及解决方案
02_第三方安全漏洞说明及解决方案
  • 002_Apache Log4j2 远程代码执行漏洞(CVE-2021-44228、CVE-2021-45105)说明及解决方案

# 002_Apache Log4j2 远程代码执行漏洞(CVE-2021-44228、CVE-2021-45105)说明及解决方案

  • 漏洞说明

此漏洞是log4j-core-2.x.jar中的org/apache/logging/log4j/core/lookup/JndiLookup.class类存在JNDI注入漏洞,当程序将用户输入的数据记录日志的时候,可利用此漏洞,在目标机器上执行任意代码。

  • 漏洞检测工具

https://log4j2-detector.chaitin.cn/

  • 漏洞修复方案

# 方案一:升级到 log4j-2.17.0版本 (推荐)

下载地址: https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.17.0/

# 方案二、生产环境修复:

https://github.com/zhangyoufu/log4j2-without-jndi 由长亭工程师提供的删除了 JndiLookup.class 的对应版本直接替换重启即可。(如果不放心网上下载的版本,也可以自己手动解压删除:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class 删除jar包里的这个漏洞相关的class,然后重启服务即可)。

# 方案三、临时规避方案

(任选一种,但是注意,只有 >=2.10.0 版本才可以用,老版本不支持这个选项)

  1. 在 jvm 参数中添加 -Dlog4j2.formatMsgNoLookups=true
  2. 系统环境变量中将LOG4J_FORMAT_MSG_NO_LOOKUPS 设置为 true
  3. 创建 log4j2.component.properties 文件,文件中增加配置 log4j2.formatMsgNoLookups=true

涉及产品及解决方案见下方列表(使用方案一验证通过,采用官方推荐的log4j-2.17.0版本):

产品 是否涉及 解决方案
Platform7.6.6 使用log4j-core-2.13.3,存在此漏洞 1、停止EOS Server。
2、备份%platform766安装路径%/apache-tomcat-8.5.57/webapps/default、governor、workspace三个应用/WEB-INF/lib/log4j-1.2-api-2.13.3.jar、 log4j-api-2.13.3.jar、log4j-core-2.13.3.jar。
3、删除log4j-1.2-api-2.13.3.jar、 log4j-api-2.13.3.jar、log4j-core-2.13.3.jar三个jar,替换为官方下载的log4j-2.17.0版本。
4、重启EOS Server。
ESB8 ESB governor:log4j-api-2.7、log4j-core-2.7、log4j-1.2.17(不存在漏洞,不替换)
ESB server : log4j-api-2.7、log4j-core-2.7、log4j-1.2.17(不存在漏洞,不替换)
elasticsearch6.6.1:log4j-1.2-api-2.11.1、log4j-api-2.11.1、log4j-core-2.11.1
ESB governor替换说明:
1、停止ESB governor;
2、备份%Primeton_ESB_8.0_governor安装路径%/libs/log4j-api-2.7、log4j-core-2.7两个jar。
3、删除%Primeton_ESB_8.0_governor安装路径%/libs/log4j-api-2.7、log4j-core-2.7两个jar,替换为官方下载的log4j-2.17.0 版本。
4、重启ESB governor。
ESB server替换说明:
1、停止ESB Server;
2、备份%Primeton_ESB_8.0_Server安装路径%/server/lib/log4j-api-2.7、log4j-core-2.7两个jar。
3、删除%Primeton_ESB_8.0_Server安装路径%/server/lib/log4j-api-2.7、log4j-core-2.7两个jar,替换为官方下载的log4j-2.17.0版本。
4、重启ESB Server。
elasticsearch6.6.1替换说明:
1、停止elasticsearch6.6.1。
2、备份/usr/local/elasticsearch-6.6.1/lib/log4j-1.2-api-2.11.1、log4j-api-2.11.1、log4j-core-2.11.1三个jar。
3、删除/usr/local/elasticsearch-6.6.1/lib/log4j-1.2-api-2.11.1、log4j-api-2.11.1、log4j-core-2.11.1三个jar,替换为官方下载的log4j-2.17.0 版本。
4、重启elasticsearch6.6.1。
ESB6.7 ESB governor : log4j-api-2.7、log4j-core-2.7、log4j-slf4j-impl-2.7 、log4j-1.2.17(不存在漏洞,不替换)
ESB server : 未使用log4j-core 2.x ,不存在此漏洞
ESB ssm:未使用log4j-core 2.x ,不存在此漏洞
ESB governor替换说明:
1、停止ESB governor;
2、备份%Primeton_ESB_8.0_governor安装路径%/apache-tomcat-8.5.27/webapps/governor/WEB-INF/lib/log4j-api-2.7、log4j-core-2.7、log4j-slf4j-impl-2.7三个jar;
3、删除%Primeton_ESB_8.0_governor安装路径%/apache-tomcat-8.5.27/webapps/governor/WEB-INF/lib/log4j-api-2.7、log4j-core-2.7、log4j-slf4j-impl-2.7三个jar,替换为官方下载的log4j-2.17.0 版本,只替换log4j-api-2.17,log4j-slf4j-impl-2.17两个,log4j-core直接删除不需要替换;
4、重启ESB governor。
EOS8.1/MS5 elasticsearch6.6.1:log4j-1.2-api-2.11.1、log4j-api-2.11.1、log4j-core-2.11.1
其余组件未使用log4j-core 2.x ,不存在此漏洞
elasticsearch6.6.1替换说明:
1、停止elasticsearch6.6.1。
2、备份/usr/local/elasticsearch-6.6.1/lib/log4j-1.2-api-2.11.1、log4j-api-2.11.1、log4j-core-2.11.1三个jar。
3、删除/usr/local/elasticsearch-6.6.1/lib/log4j-1.2-api-2.11.1、log4j-api-2.11.1、log4j-core-2.11.1三个jar,替换为官方下载的log4j-2.17.0版本。
4、重启elasticsearch6.6.1。
BFT7 BFTClient使用log4j-core 2.x ,存在此漏洞 1、停止BFTClient。
2、备份%Primeton_BFT_7.0.0_Client安装路径%/apache-tomcat-8.5.42/webapps/client/WEB-INF/lib/log4j-api-2.10.0.jar、log4j-slf4j-impl-2.10.0.jar、log4j-core-2.10.0.jar、log4j-jul-2.10.0.jar四个jar。
3、删除%Primeton_BFT_7.0.0_Client安装路径%/apache-tomcat-8.5.42/webapps/client/WEB-INF/lib/log4j-api-2.10.0.jar、log4j-slf4j-impl-2.10.0.jar、log4j-core-2.10.0.jar、log4j-jul-2.10.0.jar四个jar,替换为官方下载的log4j-2.17.0 版本。
4、重启BFTClient。
DSP7 Primeton_DSP_7.0_DataReleas使用了log4j-core-2.11.1.jar、log4j-jul-2.11.1.jar、log4j-api-2.11.1.jar、 log4j-slf4j-impl-2.11.1.jar,存在此漏洞;
其余组件未使用log4j-core 2.x ,不存在此漏洞
1、停止DataRelease。
2、备份%Primeton_DSP_7.0_DataReleas安装路径%/apache-tomcat-8.5.51/webapps/datarelease/WEB-INF/lib/log4j-core-2.11.1.jar、log4j-jul-2.11.1.jar、log4j-api-2.11.1.jar、log4j-slf4j-impl-2.11.1.jar 四个jar。
3、删除%Primeton_DSP_7.0_DataReleas安装路径%/apache-tomcat-8.5.51/webapps/datarelease/WEB-INF/lib/log4j-core-2.11.1.jar、log4j-jul-2.11.1.jar、log4j-api-2.11.1.jar、log4j-slf4j-impl-2.11.1.jar 四个jar,替换为官方下载的log4j-2.17.0 版本。
4、重启DataRelease。
DAMP7 DAMP_ONLINECONFIG使用了log4j-core-2.13.0.jar,存在此漏洞;
其余组件未使用log4j-core 2.x ,不存在此漏洞
1、停止onlineConfig;
2、备份%onlineConfig安装路径/apache-tomcat-8.5.29/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.0.jar;
3、删除%onlineConfig安装路径/apache-tomcat-8.5.29/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.0.jar,
替换为官方下载的log4j-core-2.17.0.jar;
4、重启onlineConfig;
Platform7.6.5及之前版本 未使用log4j-core 2.x ,不存在此漏洞 /
BPS7.5及之前版本 未使用log4j-core 2.x ,不存在此漏洞 /
DI7.0及之前版本 未使用log4j-core 2.x ,不存在此漏洞 /
Metacube7及之前版本 未使用log4j-core 2.x ,不存在此漏洞 /
PAS 未使用log4j-core 2.x ,不存在此漏洞 /
ESB6.6及之前版本 未使用log4j-core 2.x ,不存在此漏洞 /
Devops 未使用log4j-core 2.x ,不存在此漏洞 /
MDM7 未使用log4j-core 2.x ,不存在此漏洞 /
e-Coding 未使用log4j-core 2.x ,不存在此漏洞 /

← 001_XStream 远程代码执行漏洞(CVE-2020-26217) 003_Apache Log4j 1.X 漏洞说明及解决方案 →