Apache log4j反序列化与SQL注入漏洞(CVE-2022-23302/CVE-2022-23305/CVE-2022-23307)通告
2022-1-20 10:3:22 Author: blog.nsfocus.net(查看原文) 阅读量:115 收藏

阅读: 19

一、漏洞概述

1月19日,绿盟科技CERT监测到Apache发布安全公告披露了3个Log4j的漏洞,均影响Apache Log4j 1.x版本,且官方不再进行支持维护,请相关用户尽快采取措施进行防护。

Apache log4j JMSSink反序列化代码执行漏洞(CVE-2022-23302):

当攻击者具有修改Log4j配置的权限或配置引用了攻击者有权访问的LDAP服务时,Log4j1.x所有版本中的JMSSink 都容易受到不可信数据的反序列化。攻击者可以提供一个TopicConnectionFactoryBindingName 配置,利用JMSSink执行JNDI请求,从而以与CVE-2021-4104类似的方式远程执行代码。Log4j默认配置时不受此漏洞影响。

Apache log4j JDBCAppender SQL注入漏洞(CVE-2022-23305):

由于Log4j 1.2.x中的JDBCAppender接受SQL语句作为配置参数,PatternLayout的消息转换器未对其中输入的值进行过滤。攻击者可通过构造特殊的字符串到记录应用程序输入的内容中来操纵SQL,从而实现非法的SQL查询。Log4j默认配置时不受此漏洞影响。

Apache log4j Chainsaw反序列化代码执行漏洞(CVE-2022-23307):

Log4j 1.2.x中的日志查看器Chainsaw中存在反序列化问题,可能造成任意代码执行,该漏洞此前被命名为CVE-2020-9493,官方已发布Apache Chainsaw 2.1.0版本进行修复。Log4j默认情况下未配置Chainsaw使用。

Chainsaw v2是由Log4j开发社区成员编写的与Log4j配套的应用程序,是一个基于GUI的日志查看器,可以读取Log4j的XMLLayout格式的日志文件。

参考链接:

https://www.mail-archive.com/[email protected]/msg07040.html

https://www.mail-archive.com/[email protected]/msg07041.html

https://www.mail-archive.com/[email protected]/msg07042.html

二、影响范围

受影响版本

  • Apache Log4j 1.x
  • Apache Chainsaw < 2.1.0

不受影响版本

  • Apache Log4j 2.x

三、漏洞检测

3.1 人工检测

使用了Log4j 1.x版本的用户,可排查是否配置了JMSSink、JDBCAppender和Chainsaw进行使用,若有则存在相应的安全风险。

图:Chainsaw配置示例

四、漏洞防护

4.1 官方升级

官方已于2015 年停止对Log4j 1.x版本进行维护,请相关用户升级到 Log4j 2以获得安全修复,迁移方式可参考官方文档:https://logging.apache.org/log4j/2.x/manual/migration.html

1、鉴于Log4j2日前被爆出过多个高危漏洞,建议升级到以下的安全版本进行防护:

  • Apache Log4j 2.17.1-rc1(与2.17.1稳定版相同)
  • Apache Log4j 2.12.4-rc1(与2.12.4稳定版相同)
  • Apache Log4j 2.3.2-rc1(与2.3.2稳定版相同)

注:2.17.1支持Java 8及以上,2.12.4支持Java 7,2.3.2支持Java 6。

官方下载链接:https://logging.apache.org/log4j/2.x/download.html或https://github.com/apache/logging-log4j2/tags

2、对于Apache log4j Chainsaw反序列化代码执行漏洞(CVE-2022-23307),也可通过升级Apache Chainsaw至最新版的方式进行修复,官方下载链接:https://logging.apache.org/chainsaw/2.x/download.html

4.2 其他防护措施

若相关用户暂时无法进行升级操作,可先用下列措施对上述漏洞进行临时缓解:

Apache log4j JMSSink反序列化代码执行漏洞(CVE-2022-23302)临时防护:

1)注释掉或删除 Log4j 配置中的 JMSSink。

2)使用下列命令,从log4j jar包中删除 JMSSink 类文件:

zip -q -d log4j-*.jar org/apache/log4j/net/JMSSink.class

3)限制系统用户对应用程序平台的访问,以防止攻击者修改 Log4j 的配置。

Apache log4j JDBCAppender SQL注入漏洞(CVE-2022-23305)临时防护:

从Log4j的配置文件中删除JDBCAppender的使用

Apache log4j Chainsaw反序列化代码执行漏洞(CVE-2022-23307)临时防护:

不要配置Chainsaw来读取序列化的日志事件。可使用其他的接收器,例如 XMLSocketReceiver

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。

绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。


文章来源: http://blog.nsfocus.net/apache-log4j-cve-2022-23302-cve-2022-23305-cve-2022-23307%e9%80%9a%e5%91%8a/
如有侵权请联系:admin#unsafe.sh