★且听安全★-点关注,不迷路!
★漏洞空间站★-优质漏洞资源和小伙伴聚集地!
Apache Flume 是一种分布式、可靠且可用的服务,用于高效收集、聚合和移动大量日志数据。近日监测到 Apache 发布安全的公告,修复了一个存在于 Apache Flume 中的代码执行漏洞。漏洞公告如下:
该漏洞是由于在 `JMSSource` 类中能够配置不安全的 `connectionFactoryName` ,导致攻击者可通过发送特制的 JNDI 查找,从而在目标系统上执行任意代码。
首先进行补丁对比:
从补丁来看,在 `JMSSource#doConfigure` 函数中主要增加了对来自于 `JMSSourceConfiguration.CONNECTION_FACTORY` 的 `connectionFactoryName` 变量的检查。同时从官方给出的测试程序 `TestJMSSource.java` 可以看出 JNDI 注入的构造(新增 `testConfigureWithConnectionFactory` 函数):
回到 v1.9.0 版本的 `JMSSource#doConfigure` 函数:
在第 179 行获取 `connectionFactoryName` 字符串之后,一直往下走,第 265 行将其传入 `initialContext#lookup` 函数:
从而导致 JNDI 注入漏洞。
由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全及文章作者不为此承担任何责任。
★且听安全★-点关注,不迷路!
★漏洞空间站★-优质漏洞资源和小伙伴聚集地!
原文始发于微信公众号(且听安全):CVE-2022-25167 Apache Flume JNDI 注入漏洞分析与复现