Apache Kafka Connect 模块JNDI注入(CVE-2023-25194)

漏洞概述

Apache Kafka Connect服务在2.3.0 至 3.3.2 版本中,由于连接时支持使用基于JNDI认证的SASL JAAS配置,导致配置在被攻击者可控的情况下,可能通过JNDI注入执行任意代码。
此漏洞不影响 Kafka server(broker),Kafka Connect服务通常用于在云平台中提供Kafka数据迁移、数据同步的管道能力,其默认HTTP API开放于8083端口。
因此建议对基于Kafka Connect提供的Kafka数据管道服务进行排查,判断是否存在配置可控的情况,对于受影响的服务应将 kafka-clients 升级至 3.4.0 及以上版本。

漏洞原理

Apache Kafka Connect 是Kafka中用于和其他数据系统传输数据的服务,其独立运行版本可以在Kafka发布包中通过bin/connect-standalone.sh启动,默认会在8083端口开启HTTP REST API服务,可对连接器(Connector)的配置进行操作。

api-img

连接器(Connector)是用于连接其他数据源的模块,从 2.3.0 版本开始,为了增加连接器的可重用性和可扩展性,用户可修改 kafka 客户端的 SASL JAAS(授权服务) 配置或 SASL-based 安全协议。3.0.0 版本之后,Kafka Connect 标准化了 Kafka 与其他数据系统的集成,用户可方便地对 Kafka Connect 集群中的连接器属性进行配置。
将连接器中的 Kafka 客户端sasl.jaas.config属性值设置为 com.sun.security.auth.module.JndiLoginModule(通过 producer.override.sasl.jaas.config, consumer.override.sasl.jaas.configadmin.override.sasl.jaas.config属性进行配置)时,如果连接器连接到攻击者可控的 LDAP 服务器时容易受到反序列化攻击。
为修复此漏洞,从 3.4.0 版本开始,添加了 org.apache.kafka.disallowed.login.modules 系统属性用于禁用 SASL JAAS 配置中不安全的登录模块,并且默认禁用 com.sun.security.auth.module.JndiLoginModule。

修复漏洞

Aiven云数据平台攻击场景案例

Aiven是位于芬兰的数据库即服务(DBaaS)公司,提供了包括Kafka、MySQL、ClickHouse等在内的云数据服务。

Aiven

其在 Kafka 中就提供了 Connect 服务,用于将数据通过不同的数据源导入导出 Kafka。
在创建 Connector 连接器时,可以自定义启动配置。

Connect

安全研究人员 jarij 发现可以通过database.history.producer.sasl.jaas.config设置客户端的sasl.jaas.config属性,从而开启JNDI登录验证模块,并结合user.provider.url属性通过LDAP服务实现注入,又通过Scala和CommonsCollections7作为gadget构造了利用链,最终实现代码执行。
漏洞在报告给Aiven公司后,已经在2022年5月修复。

风险场景

从危害上看,能够导致任意代码执行,属于高风险。
从业务场景上看,受漏洞影响的通常是基于Kafka Connect提供的:

  • 数据管道服务(数据迁移、同步)
  • Kafka相关的测试服务(用于对broker的测试)
    因此主要是云平台类的服务,而大部分Kafka的使用场景不受影响。
    从利用条件上,漏洞要成功用于执行任意代码,需要同时满足:
  • 攻击者可以控制连接器(Connector)的配置
  • Kafka服务能够访问攻击者控制的LDAP服务(通常需要能访问互联网)
  • 基于远程LDAP引用注入需要java版本小于11.0.1、8u191、7u201、6u211,本地则需要其classpath中加载了可以用于构造利用链的类
    在一般情况下利用成本是较高的。
    因此在漏洞响应排查上,应重点关注基于Kafka的云平台服务、在功能上关注其配置自定义功能。
    建议将kafka-clients 升级至 3.4.0 及以上版本,或通过限制自定义配置的参数临时规避该漏洞风险。

参考链接

发布者:墨菲安全,转发请注明出处:https://www.murphysec.com/blog/vulnerability-analysis/4700.html

(0)
上一篇 2023年2月13日 10:32
下一篇 2023年2月14日 14:06

相关推荐

  • Apache ShardingSphere-Proxy <5.3.0 身份认证绕过(CVE-2022-45347)

    漏洞简介 2022年12月22日,Apache 官方公告发布 ShardingSphere-Proxy 5.3.0 之前版本存在身份绕过漏洞(CVE-2022-45347)。当 ShardingSphere-Proxy 使用 MySQL 作为后端数据库时,由于 ShardingSphere-Proxy 在客户端认证失败后没有完全清理数据库会话信息,攻击者可利…

    2023年1月9日
  • 因未修补关键漏洞,导致Cacti 服务器受到攻击

    Cacti 服务器尚未针对最近发现的关键安全漏洞进行修补,漏洞已被利用。
    漏洞与 CVE-2022-46169(CVSS 分数:9.8)有关,这是身份验证绕过和命令注入的组合,使未经身份验证的用户能够在基于 Web 的开源监控解决方案的受影响版本上执行任意代码。

    2023年2月13日
  • Fastjson官方再次披露高危漏洞,包括rocketmq、jeecg-boot等近15%的github开源项目受影响

    2022年5月23日,fastjson 官方发布安全通报,fastjson <= 1.2.80 存在反序列化任意代码执行漏洞,在特定条件下可绕过默认autoType关闭限制,可能会导致远程服务器被攻击,风险影响较大。OSCS开源软件社区对此漏洞进行收录,漏洞信息如下: 漏洞评级:高危 影响组件:com.alibaba:fastjson 影响版本:&lt…

    漏洞分析 2023年1月4日
  • Onedev v7.4.14 路径遍历漏洞分析(CVE-2022-38301)

    漏洞简述 OneDev 是开源的一体化轻量DevOps平台,在OneDev 7.4.14及以前版本中存在路径遍历漏洞,具有项目管理权限的攻击者可以将恶意 jar 文件上传到 lib 目录,覆盖原有jar包,攻击者可利用此漏洞在服务器中写入任意文件或远程执行恶意代码。 漏洞分析 问题代码分析 项目管理员可以在 OneDev 的`build`模块对自己的一个项目…

    2023年1月9日
  • Spring 新版本修复RCE漏洞,墨菲安全开源工具可应急排查

    漏洞简述 3月31日,spring 官方通报了 Spring 相关框架存在远程代码执行漏洞,并在 5.3.18 和 5.2.20.RELEASE 中修复了该漏洞。 漏洞评级:严重 影响组件:org.springframework:spring-beans 影响版本:< 5.3.18 和 < 5.2.20.RELEASE 的Spring框架均存在该…

    2023年1月4日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-180-9568

邮件:hi@murphysec.com

工作时间:周一至周五,10:00-19:00,节假日休息

关注公众号

20230105-100741