点击“终码一生”,关注,置顶公众号
每日技术干货,第一时间送达!
最近,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 的攻击。
CVE-2021-44832 | 远程代码执行 |
---|---|
严重性 | 缓和 |
Base CVSS Score | 6.6 (AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H) |
受影响的版本 | 从 2.0-alpha7 到 2.17.0 的所有版本,不包括 2.3.2 和 2.12.4 |
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 协议。
详情可查看此处:https://logging.apache.org/log4j/2.x/security.html。
PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。