系列简介:
破绽实在影响剖析是墨菲平安实验室针对热点破绽的剖析系列文章,帮忙企业开发者和平安从业者理清破绽影响面、梳理实在影响场景,晋升平安应急响应和破绽治理工作效率。

破绽概述

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/?...