【漏洞
描述
】
近日,监测到
Apache
官方发布了
Log4j
的多个漏洞通告,分别为
Apache log4j JMSSink
反序列化代码执行漏洞(
CVE-2022-23302
)
,Apache log4j JDBCAppender SQL
注入漏洞(
CVE-2022-23305
),
Apache log4j Chainsaw
反序列化代码执行漏洞(
CVE-2022-23307
)。
1.CVE-2022-23302
:
Apache Log4j JMSSink
反序列化代码执行漏洞,根据官方描述,当攻击者对
Log4j
配置具有写访问权限时,不受信任的数据或如果配置引用了攻击者有权访问的
LDAP
服务。攻击者可以提供一个
TopicConnectionFactoryBindingName
配置,导致
JMSSink
执行
JNDI
请求,这与
CVE-2021-4104
远程执行代码的方式类似。
请注意,此问题仅在专门配置为使用
JMSSink
时影响
Log4j 1.x
,
Log4j
默认配置时不受此漏洞影响。
2.CVE-2022-23305
:
Apache Log4j JDBCAppenderSQL
注入漏洞,根据官方描述,
Log4j 1.2.x
中的
JDBCAppender
接受
SQL
语句作为要插入的值是转换器的配置参数,
PatternLayout
消息转换器未对输入的值进行过滤,允许攻击者通过在输入中输入精心制作的字符串来操纵
SQL
,实现非法查询。
请注意,此问题仅在专门配置为使用
JDBCAppender
时会影响
Log4j 1.x
,
Log4j
默认配置时不受此漏洞影响。
3.CVE-2022-23307
:
Chainsaw v2
是由
Log4j
开发社区成员编写的与
Log4j
配套的应用程序,是一个基于
GUI
的日志查看器,该漏洞由于
Apache Log4j 1.2.x
中的
Chainsaw
存在反序列化代码执行漏洞,可能造成任意代码执行。
请注意,
Log4j
默认情况下未配置
Chainsaw
的使用,因此默认配置下不受此漏洞影响。
严重等级:高危
【影响范围】
Apache Log4j 1.x
Apache Chainsaw < 2.1.0
可能的受影响应用及组件(包括但不限于)如下:
Apache Groovy
、
Spring Boot
、
Logging
等
更多组件可参考如下链接:
https://mvnrepository.com/artifact/log4j/log4j/usages
不受影响版本:
Apache Log4j 2.x
【修复建议】
官方升级:
官方已于
2015
年停止对
Log4j 1.x
版本进行维护,请相关用户升级到
Log4j 2
以获得安全修复,迁移方式可参考官方文档:
https://logging.apache.org/log4j/2.x/manual/migration.html
1
、鉴于
Log4j2
日前被爆出过多个高危漏洞,建议升级到以下的安全版本进行防护:
1
)
Apache Log4j 2.17.1-rc1
(与
2.17.1
稳定版相同)
2
)
Apache Log4j 2.12.4-rc1
(与
2.12.4
稳定版相同)
3
)
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
临时防护措施:
若相关用户暂时无法进行升级操作,可先用下列措施对上述漏洞进行临时缓解:
1
、
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
的配置。
2
、
Apache log4j JDBCAppender SQL
注入漏洞(
CVE-2022-23305
)
临时防护:
从
Log4j
的配置文件中删除
JDBCAppender
的使用
3
、
Apache log4j Chainsaw
反序列化代码执行漏洞(
CVE-2022-23307
)
临时防护:
不要配置
Chainsaw
来读取序列化的日志事件。可使用其他的接收器,例如
XMLSocketReceiver