Apache Kafka远程代码执行漏洞已修复
Charlie Osborne
2023年2月15日 14:01 UTC
更新:2023年2月17日 11:07 UTC
标签: RCE、漏洞、漏洞赏金
Apache软件基金会(ASF)已修复一个可通过Kafka Connect利用的远程代码执行(RCE)漏洞。该高危漏洞于2月8日公布,编号为CVE-2023-25194,存在于Apache Kafka Connect中——这是一个免费开源组件,用作系统、数据库和键值存储之间数据集成的中枢。
ASF声称,超过80%的财富100强企业使用Kafka平台,其中包括约70%的银行。
根据Apache邮件列表说明,此安全漏洞由漏洞赏金猎人Jari Jääskelä发现,他通过Aiven的HackerOne漏洞赏金计划报告了该问题,并获得了5000美元的赏金。
该漏洞仅在有权访问Kafka Connect工作器(逻辑工作单元组件)且用户能够使用任意Kafka客户端SASL JAAS配置和基于SASL的安全协议创建或修改工作器连接器时触发。
Log4Shell关联
该漏洞涉及轻量级目录访问协议(LDAP)和Java命名与目录接口(JNDI)端点,这与2021年在广泛使用的Java日志库Apache Log4j中发现的里程碑式漏洞“Log4Shell”情况类似。JNDI还涉及Apache Sling JCR Base中另一个新披露的高危漏洞。
利用此Kafka漏洞,经过身份验证的攻击者可通过Aiven API或Kafka Connect REST API配置特定连接器属性,强制工作器连接到攻击者控制的LDAP服务器。
公告称:“服务器将连接到攻击者的LDAP服务器,并反序列化LDAP响应,攻击者可利用此在Kafka Connect服务器上执行Java反序列化工具链。攻击者可在服务器上执行命令并访问网络上的其他资源。”
当每个先决条件都存在时,Apache表示可能执行JNDI请求,从而导致远程代码执行或拒绝服务攻击。
披露过程
Aiven开源工程总监Josep Prat表示,Aiven的漏洞赏金计划增强了“整体开源生态系统的安全态势”及其自身安全。
他告诉The Daily Swig:“Aiven的赏金计划适用于专有软件及其使用的任何开源项目。自2020年运行我们的赏金计划以来,25%的报告涉及开源项目,其中80%涉及非Aiven拥有但属于我们依赖链的项目,例如Apache软件基金会拥有的项目。”
Prat说,如果漏洞报告“被认为影响上游项目,我们将联系所述项目的安全团队,并报告发现的可能性漏洞。”
“在这个特定实例中,该漏洞最初评估仅影响Apache Kafka服务提供商(而非上游),而不是项目本身的缺陷。因此,根据流程,Aiven接受了报告并向报告者支付了赏金。”
Prat表示,该问题随后迅速报告给Kafka安全团队,并在Aiven工程师的帮助下得到解决。
更新与缓解措施
该报告于2022年4月4日首次提交给Aiven。发现Apache Kafka版本2.3.0-3.3.2受影响,漏洞在版本3.4.0中修复。
ASF指出,自Kafka 3.0.0以来,用户已能够指定攻击链中使用的连接器配置属性。版本3.4.0中添加了一个新属性,禁用了SASL JAAS配置中有问题的登录模块使用,同时还采取了额外的安全措施。
ASF表示:“我们建议Kafka Connect用户验证连接器配置,仅允许受信任的JNDI配置。此外,检查连接器依赖项中的易受攻击版本,并升级其连接器、升级特定依赖项或移除连接器作为修复选项。”
Jääskelä在同月提交了第二份关于Apache Kafka的高危漏洞报告。
Aiven JDBC接收器(包括SQLite JDBC驱动程序)可能通过未受保护的Jolokia桥被滥用,在Kafka Connect服务器上执行RCE。该漏洞赏金猎人也因此报告获得了5000美元奖励,安全问题现已解决。
The Daily Swig已联系Apache项目,并在收到回复后更新本故事。
本故事于2月17日更新,添加了Aiven的Josep Prat的评论。
相关标签: RCE、漏洞、漏洞赏金、开源软件、API、核心
作者: Charlie Osborne
Twitter: @SecurityCharlie