产品安全漏洞说明及方案 产品安全漏洞说明及方案
01_产品安全漏洞说明及解决方案
02_第三方安全漏洞说明及解决方案
  • 003_Apache Log4j 1.X 漏洞说明及解决方案
  • 漏洞说明:
  • 反序列化代码执行漏洞(CVE-2021-4104)
  • Apache log4j JMSSink反序列化代码执行漏洞(CVE-2022-23302)
  • Apache log4j JDBCAppender SQL注入漏洞(CVE-2022-23305):
  • Apache log4j Chainsaw反序列化代码执行漏洞(CVE-2022-23307):
  • Apache Log4j 代码问题漏洞(CVE-2023-26464)
  • 解决方案:
  • Apache Log4j 1.x 其他漏洞说明及解决方案:

# 003_Apache Log4j 1.X 漏洞说明及解决方案

# 漏洞说明:

# 反序列化代码执行漏洞(CVE-2021-4104)

log4j 1.2.x发现的漏洞是通过 JMSAppender 进行 JNDI 注入实现 RCE,该漏洞条件比较苛刻。

Log4j默认配置时不受此漏洞影响。根据客户实际情况,删除JMSAppender类,如果是log4j 1.2.8可以向普元售后申请3RD_LOG4J_1.2.8_20211230_P1(注:删除了JMSAppender的类的补丁)。

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

当攻击者具有修改Log4j配置的权限或配置引用了攻击者有权访问的LDAP服务时,Log4j1.x所有版本中的JMSSink 都容易受到不可信数据的反序列化。攻击者可以提供一个 TopicConnectionFactoryBindingName 配置,利用JMSSink执行JNDI请求。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使用。

# Apache Log4j 代码问题漏洞(CVE-2023-26464)

Apache Log4j 1.x版本存在代码问题漏洞,该漏洞源于对特制的哈希图或哈希表进行处理可能会耗尽虚拟机中的可用内存,并在反序列化对象时导致拒绝服务。

Log4j默认情况下未配置Chainsaw使用;可根据客户实际情况删除SocketAppender 类(log4j-1.2.8.jar/org/apache/log4j/net/SocketAppender.class)。

# 解决方案:

普元全系列产品引用log4j 1.X的,均使用log4j默认配置,不存在以上漏洞。

# Apache Log4j 1.x 其他漏洞说明及解决方案:

  • Apache Log4j 反序列化代码执行漏洞(CVE-2019-17571)说明

Apache Log4j是美国阿帕奇(Apache)软件基金会的一款基于Java的开源日志记录工具。 log4j1.2中包含一个SocketServer类,该类易受不可信数据反序列化的攻击,当监听日志数据的不可信网络流量时,该类与反序列化小工具结合使用,可远程执行任意代码。这会影响到1.2到1.2.17的Log4j版本。

  • 解决方案:

请到相关页面下载解决JDK反序列化漏洞的补丁(请根据EOS Platform的大版本选择相应的补丁,与EOS小版本无关),此补丁提供序列化工具类,请在黑名单中添加org.apache.log4j.net.SimpleSocketServer。

← 002_Apache Log4j2 远程代码执行漏洞CVE-2021-44228、CVE-2021-45105说明及解决方案 004_Was环境基于IBM JDK1.7及JDK1.8反序列化漏洞报错解决方案 →