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 协议。
与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。