Apache Log4j 日志库中发现了另一个严重的远程代码执行漏洞,现在被跟踪为 CVE-2021-44832。这是 Log4j 库中的第三个 RCE 和第四个漏洞,其次分别是 CVE-2021-44228 (RCE)、CVE-2021-45046 (RCE) 和 CVE-2021-45105 (DoS 攻击)。
目前,Apache 团队已发布新的 Log4j 版本以修复新发现的这一漏洞。根据介绍,CVE-2021-44832 表现为,当攻击者控制配置时,Apache Log4j2 通过 JDBC Appender 容易受到 RCE 的攻击。
Apache Log4j2 2.0-beta7 到 2.17.0 版本(不包括安全修复版本 2.3.2 和 2.12.4)容易受到远程代码执行(RCE)攻击,其中有权修改日志配置文件的攻击者可以构建恶意配置将 JDBC Appender 与引用 JNDI URI 的数据源一起使用,该 JNDI URI 可以执行远程代码。此问题已通过将 JNDI 数据源名称限制为 Log4j2 版本 2.17.1、2.12.4 和 2.3.2 中的 java 协议来解决。
Log4j 1.x 不受此漏洞影响。受影响的用户可升级到 Log4j 2.3.2(适用于 Java 6)、2.12.4(适用于 Java 7)或 2.17.1(适用于 Java 8 及更高版本),以缓解该漏洞。
在以前的版本中,如果正在使用 JDBC Appender,请确认它没有被配置为使用 Java 以外的任何协议。官方提醒,只有 log4j-core JAR 文件受此漏洞影响。仅使用 log4j-api JAR 文件而不使用 log4j-core JAR 文件的应用程序不受此漏洞的影响。另外,Apache Log4j 是唯一受此漏洞影响的日志服务子项目。Log4net 和 Log4cxx 等其他项目不受此影响。
发布详情
- 从版本 2.17.1(以及针对 Java 7 和 Java 6 的 2.12.4 和 2.3.2)开始,JDBC Appender 将使用 JndiManager,并要求 log4j2.enableJndiJdbc 系统属性包含 true 值以启用 JNDI。
- 启用 JNDI 的属性已从“log4j2.enableJndi”重命名为三个单独的属性:log4j2.enableJndiLookup、log4j2.enableJndiJms 和 log4j2.enableJndiContextSelector。
- JNDI 功能已在以下版本中得到强化:2.3.1、2.12.2、2.12.3 或 2.17.0。从这些版本开始,已删除对 LDAP 协议的支持,并且 JNDI 连接仅支持 JAVA 协议。
详情可查看此处。
本文转自OSCHINA
本文标题:Apache Log4j 中出现新的远程代码执行漏洞
本文地址:https://www.oschina.net/news/176017/fourth-log4j-rce-vulnerability