系列简介:
破绽实在影响剖析是墨菲平安实验室针对热点破绽的剖析系列文章,帮忙企业开发者和平安从业者理清破绽影响面、梳理实在影响场景,晋升平安应急响应和破绽治理工作效率。
破绽概述
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)的配置进行操作。
连接器(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.config 或 admin.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 等在内的云数据服务。
其在 Kafka 中就提供了 Connect 服务,用于将数据通过不同的数据源导入导出 Kafka。
在创立 Connector 连接器时,能够自定义启动配置。
平安钻研人员 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.oscs1024.com/hd/M…
• https://hackerone.com/reports…
• https://kafka.apache.org/docu…
• https://github.com/apache/kaf…
收费代码检测 / 情报预警
墨菲平安是一家为您提供业余的软件供应链平安治理的科技公司,能力包含代码平安检测、开源组件许可证合规治理、云原生容器平安检测、软件成分剖析 (SCA) 等,丰盛的平安工具助您打造齐备的软件开发平安能力(DevSecOps)。
旗下平安钻研团队墨菲平安实验室,专一于软件供应链平安相干畛域的技术钻研,关注的方向包含:开源软件平安、程序剖析、威逼情报分析、企业平安治理等。公司外围团队来自百度、华为等企业,领有超过十年的企业平安建设、平安产品研发及平安攻防教训。
收费代码平安检测工具:https://www.murphysec.com/?src=j
IDE 插件阐明文档:https://www.murphysec.com/doc…
收费情报订阅:https://www.oscs1024.com/cm/?…