OAUTHBEARERJWT路径中的Kafka身份验证绕过漏洞

admin 2026-07-14 04:46:30 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文披露了ApacheKafka4.0.0至4.0.x版本在OAUTHBEARER路径中的身份验证绕过漏洞。因客户端仅校验JWT生效时间而未强制校验过期时间,攻击者可利用获取的已过期令牌进行无限期重放,进而接管代理节点、窃取数据或破坏集群。目前官方暂无补丁,建议临时限制SASL监听器网络访问、轮换JWT签名密钥并强制客户端重新认证,待安全版本发布后应尽快升级修复。 综合评分: 86 文章分类: 漏洞分析,漏洞预警,应用安全


cover_image

OAUTHBEARER JWT 路径中的 Kafka 身份验证绕过漏洞

sec随谈 sec随谈

sec随谈

2026年7月13日 09:06 北京

在小说阅读器读本章

去阅读

摘要

一位研究人员披露了 Kafka 在 OAUTHBEARER 登录路径中的一个身份验证绕过漏洞。它影响 Apache Kafka 4.0.0 至 4.0.x 版本。攻击者可以在一个已捕获的 JWT 过期很久之后仍将其重放(replay)使用。由于 Apache 未回应私下的报告,发现者遂将其公开。

为何重要

Kafka 常常位于数据管道的核心位置。因此,一次代理节点(broker)被接管,就会暴露主题(topic)数据和代理配置。研究人员将该漏洞评为 CVSS 8.1——这是一个偏高、但由其自行评定的分数。一个被盗的令牌可为被捕获的主体(principal)授予生产(produce)和消费(consume)权限,还能破坏集群状态并扰乱可用性。

短生命周期的令牌通常能限制这一风险。但在实践中,攻击者可以从被抓取的日志、一次泄露的错误响应,或一台被攻陷的客户端主机上获取到令牌。仅凭这一个令牌就足够了。

攻击原理

经过重构的 4.0.0 客户端会检查 JWT 的”生效时间”(nbf, not-before)声明以处理时钟偏差(clock skew)。然而,它从未对”过期时间”(exp, expiration)声明进行强制校验。其结果是,一个带有旧 nbf 的已过期令牌仍能通过验证。因此,任何历史会话的 JWT 都能无限期地继续有效,即便是一个已泄露的令牌也是如此。这一攻击无需任何用户交互,只需要能通过网络访问到代理节点,以及一个此前曾有效的令牌。研究人员在 oss-security 邮件列表上发布了报告,但保留了概念验证(PoC)未予公开。

受影响版本与现状

只有 Apache Kafka 4.0.0 至 4.0.x 版本使用了这段存在漏洞的代码路径。较旧的 3.x 版本不受影响,因为它们使用的是另一条身份验证路径。目前尚未确认存在公开的利用代码或在野滥用。值得注意的是,Kafka 的 OAUTHBEARER 处理机制在 2026 年早些时候还曾引出另外的 CVE,即 CVE-2026-33557 和 CVE-2026-33558,它们涉及的是不同的漏洞。

缓解措施

在披露之时,尚无官方修复。在补丁发布之前,应限制对 SASL 监听器(listener)的网络访问;轮换(rotate)JWT 签名密钥,并强制客户端重新进行身份验证。同时,请留意 Kafka 团队发布的 4.0.x 安全版本。这个 Kafka 身份验证绕过漏洞需要通过代码修复来解决,因此一旦补丁发布,请尽快升级。

参考链接:

https://seclists.org/oss-sec/2026/q3/18


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:sec随谈 sec随谈 sec随谈《OAUTHBEARER JWT 路径中的 Kafka 身份验证绕过漏洞》

评论:0   参与:  0