出品
开源中国
作者
白开水
ApacheLog4j日志库中发现了另一个严重的远程代码执行漏洞,现在被跟踪为CVE--。这是Log4j库中的第三个RCE和第四个漏洞,其次分别是CVE--(RCE)、CVE--(RCE)和CVE--(DoS攻击)。
目前,Apache团队已发布新的Log4j版本以修复新发现的这一漏洞。根据介绍,CVE--表现为,当攻击者控制配置时,ApacheLog4j2通过JDBCAppender容易受到RCE的攻击。
CVE--远程代码执行严重性缓和BaseCVSSScore6.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
ApacheLog4j22.0-beta7到2.17.0版本(不包括安全修复版本2.3.2和2.12.4)容易受到远程代码执行(RCE)攻击,其中有权修改日志配置文件的攻击者可以构建恶意配置将JDBCAppender与引用JNDIURI的数据源一起使用,该JNDIURI可以执行远程代码。此问题已通过将JNDI数据源名称限制为Log4j2版本2.17.1、2.12.4和2.3.2中的java协议来解决。
Log4j1.x不受此漏洞影响。受影响的用户可升级到Log4j2.3.2(适用于Java6)、2.12.4(适用于Java7)或2.17.1(适用于Java8及更高版本),以缓解该漏洞。
在以前的版本中,如果正在使用JDBCAppender,请确认它没有被配置为使用Java以外的任何协议。官方提醒,只有log4j-coreJAR文件受此漏洞影响。仅使用log4j-apiJAR文件而不使用log4j-coreJAR文件的应用程序不受此漏洞的影响。另外,ApacheLog4j是唯一受此漏洞影响的日志服务子项目。Log4net和Log4cxx等其他项目不受此影响。
发布详情
从版本2.17.1(以及针对Java7和Java6的2.12.4和2.3.2)开始,JDBCAppender将使用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协议。