0x01漏洞状态

漏洞细节

漏洞POC

漏洞EXP

在野利用

公开

公开

未知

未知

0x02漏洞描述

Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI 组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息每一条日志信息的级别,能够更加细致地控制日志的生成过程。

2021年12月29日,360漏洞云团队监测到Apache官方发布了安全更新,修复了一个Apache Log4j2组件中存在的远程代码执行漏洞。漏洞编号:CVE-2021-44832,漏洞威胁等级:中危,漏洞评分:6.6。漏洞利用条件较苛刻,用户可选择性处理。

请注意,只有 log4j-core JAR 文件受此漏洞影响。仅使用 log4j-api JAR 文件而不使用 log4j-core JAR 文件的应用程序不受此漏洞的影响。

Apache Log4j 是唯一受此漏洞影响的日志服务子项目。Log4net 和 Log4cxx 等其他项目不受此影响。

Log4j2 远程代码执行漏洞

Log4j2 远程代码执行漏洞

漏洞编号

CVE-2021-44832

漏洞类型

远程代码执行

漏洞等级

中危(6.6)

公开状态

未知

在野利用

未知

漏洞描述

Apache Log4j2 版本2.0-beta7到 2.17.0(不包括安全修复版本 2.3.2 和 2.12.4)容易受到远程代码执行 (RCE) 攻击, 拥有修改日志配置文件权限的攻击者可以使用JDBC Appender构建恶意配置,其数据源引用JNDI URI,可以远程执行代码,但该漏洞利用需要配置文件jdbc连接可控。

此问题已通过将 JNDI 数据源名称限制为 Log4j2 版本 2.17.1、2.12.4 和 2.3.2 中的 java 协议来解决。

0x03漏洞等级

中危(6.6)

0x04影响版本

2.0-beta7<=Apache Log4j2<=2.17.0

- 不包括安全修复版本 2.3.2 和 2.12.4 -

0x05漏洞复现

2021年12月29日,360漏洞云安全专家已第一时间复现上述漏洞,演示如下:

CVE-2021-44832

完整POC代码已在360漏洞云情报平台(https://loudongyun.360.cn/)发布,360漏洞云情报平台用户可通过平台下载进行安全自检。

0x06修复建议

临时修复建议

1. Log4j 1.x 缓解:

Log4j 1.x 不受此漏洞影响。

2. Log4j 2.x 缓解:

①升级到 Log4j 2.3.2(适用于 Java 6)、2.12.4(适用于 Java 7)或 2.17.1(适用于 Java 8 及更高版本)。

②修改系统中的JDBCAppender配置为 JNDI 数据源仅支持Java协议。

③建议 JDK 使用 11.0.1、8u191、7u201、6u211 及以上的高版本。

④移除 log4j-core 包中 JndiLookup 类文件,并重启服务。

zip -q-d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

④限制受影响应用对外访问互联网

官方修复建议

官方已发布安全版本,请及时下载更新,下载地址:

https://github.com/apache/logging-log4j2/tags

版本发布详情:

1. 从版本 2.17.1(以及 Java 7 和Java 6 的 2.12.4 和 2.3.2)开始,JDBC Appender 将使用 JndiManager 并要求 log4j2.enableJndiJdbc 系统属性包含 true 值以启用 JNDI。

2. 启用 JNDI 的属性已从“log4j2.enableJndi”重命名为三个单独的属性:log4j2.enableJndiLookup、log4j2.enableJndiJms和 log4j2.enableJndiContextSelector。

3. JNDI功能已在以下版本中得到强化:2.3.1、2.12.2、2.12.3 或 2.17.0:从这些版本开始,已删除对 LDAP 协议的支持,并且 JNDI 连接仅支持 JAVA 协议。

与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。