CVE-2025-61673CVE-2025-61673是Karapace(一个开源的Kafka REST和Schema Registry实现)中存在的一个高危认证绕过漏洞。该漏洞影响Karapace 5.0.0和5.0.1版本,CVSS评分为8.6分。Karapace作为Kafka生态系统中重要的Schema Registry组件,被广泛用于数据序列化和模式管理。当Karapace配置为使用OAuth 2.0 Bearer Token认证时,存在严重的认证逻辑缺陷。具体而言,如果客户端发送的HTTP请求中不包含Authorization头信息,服务端的令牌验证逻辑将被完全跳过,导致未认证的用户可以访问和操作本应受保护的Schema Registry端点。该漏洞使得OAuth认证机制形同虚设,攻击者可以在无需任何凭证的情况下,对Schema Registry执行读写操作,可能导致敏感配置数据泄露、恶意模式注入或服务完整性破坏。此漏洞已在5.0.2版本中修复,建议所有受影响的用户尽快升级。
该漏洞的根本原因在于Karapace在处理OAuth 2.0 Bearer Token认证时的逻辑缺陷。在正常的认证流程中,服务端应当从HTTP请求头中提取Authorization字段,解析Bearer Token,并验证令牌的有效性。然而,在受影响的5.0.0和5.0.1版本中,代码实现存在条件判断错误:当请求缺少Authorization头时,程序并未将其视为认证失败并拒绝请求,而是直接跳过了整个令牌验证流程,继续以已认证用户的身份处理请求。
从技术实现角度看,这通常是由于代码中错误地使用了类似`if authorization_header: validate_token()`的逻辑,而正确实现应为`if not authorization_header: reject_request()`或`if authorization_header: validate_token() else: reject_request()`。这种逻辑缺陷使得攻击者只需发送不包含Authorization头的HTTP请求,即可绕过认证机制。
利用方式非常简单:攻击者无需任何凭证,直接向受保护的Schema Registry端点(如/subjects、/config、/schemas等)发送HTTP请求,由于服务端跳过了令牌验证,请求将被正常处理,从而实现对Schema Registry的未授权读写访问。