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
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论