一、漏洞详情
Log4j是Apache的一个开源项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;也可以控制日志的输出格式;通过定义日志信息的级别,能够控制日志的生成过程。
监测发现Apache官方发布了Log4j的风险通告,漏洞编号为CVE-2022-23302,CVE-2022-23305,CVE-2022-23307,对应的组件分别是:JMSSink、JDBCAppender、Chainsaw。
CVE-2022-23302: Apache log4j JMSSink反序列化代码执行漏洞
当攻击者具有修改Log4j配置的权限或配置引用了攻击者有权访问的LDAP服务时,所有 Log4j 1.x 版本中的JMSSink 都容易受到不可信数据的反序列化。攻击者可以提供一个TopicConnectionFactoryBindingName配置,使JMSSink执行JNDI请求,从而以与CVE-2021-4104类似的方式远程执行代码。
注意:此漏洞仅在专门配置为使用 JMSSink时影响 Log4j 1.x。Log4j默认配置时不受此漏洞影响。
CVE-2022-23305: Apache log4j JDBCAppender SQL注入漏洞
由于Log4j 1.2.x中的JDBCAppender接受SQL语句作为配置参数,而PatternLayout的消息转换器未对其中输入的值进行过滤,就导致了SQL注入漏洞。该漏洞允许攻击者在记录应用程序输入的内容或标题中插入恶意构造的字符串来操纵SQL,从而实现非法的SQL查询。
注意:此漏洞仅在专门配置为使用JDBCAppender时才会影响 Log4j 1.x,Log4j默认配置时不受此漏洞影响。
CVE-2022-23307: Apache log4j Chainsaw反序列化代码执行漏洞
Chainsaw v2是由Log4j开发社区成员编写的与Log4j配套的应用程序,是一个基于GUI的日志查看器,可以读取Log4j的XMLLayout格式的日志文件。该漏洞存在于Log4j 1.2.x中的日志查看器Chainsaw中,是一个反序列化漏洞,可造成任意代码执行。该漏洞此前被命名为CVE-2020-9493。建议用户升级到Apache Chainsaw 2.1.0版本和Log4j 2 以进行安全修复(Apache 已于2015年停止维护 Log4j 1.x)。
注:此漏洞仅在专门配置为使用Chainsaw时才会影响 Log4j 1.x,Log4j默认配置时不受此漏洞影响。
建议受影响用户做好资产自查以及预防工作,以免遭受黑客攻击。
二、影响范围

三、修复建议
通用修补建议
根据影响版本中的信息,排查并升级到安全版本
临时修补建议
CVE-2022-23307: Apache log4j Chainsaw反序列化代码执行漏洞
不要将Chainsaw配置为读取序列化的日志事件。可以使用其他接收器,例如XMLSocketReceiver。