漏洞概述
近日,Red Hat 安全团队披露了一个影响 Keycloak 的安全漏洞(CVE-2026-1180)。该漏洞存在于 Keycloak 的 OpenID Connect 动态客户端注册(Dynamic Client Registration)功能中,当客户端使用 private_key_jwt 进行身份验证时,可指定任意 jwks_uri。Keycloak 在未对目标地址进行合法性校验的情况下,会主动向该 URI 发起 HTTP 请求,从而导致服务端请求伪造(SSRF)问题。攻击者可借此探测内网服务或云平台元数据接口,造成信息泄露与内网侦察风险。
漏洞详情
- CVE 编号:CVE-2026-1180
- 漏洞类型:服务端请求伪造(SSRF,CWE-918)
- CVSS 评分:5.8(中危),CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
- 影响版本:受影响的 Keycloak 版本(具体版本需参考厂商公告)
影响范围
所有启用了 OpenID Connect 动态客户端注册功能、并允许客户端通过 private_key_jwt 方式认证的 Keycloak 部署实例均可能受到影响。特别是部署在具备内网访问权限或可访问云平台元数据服务(如 AWS、Azure、GCP 的 metadata endpoint)环境中的 Keycloak 服务器风险更高。
风险分析
攻击者可利用此漏洞诱导 Keycloak 服务器向内部网络地址或敏感服务(如 169.254.169.254 等云元数据接口)发起请求,从而获取内部网络拓扑、服务标识、临时凭证等敏感信息。虽然该漏洞不直接导致远程代码执行或数据篡改,但可作为高级持续性威胁(APT)攻击链中的关键侦察环节,为后续攻击提供入口。
修复建议
- 请密切关注 Red Hat 官方发布的安全更新,并及时升级至包含修复补丁的 Keycloak 版本。
- 在官方补丁发布前,建议禁用动态客户端注册功能,或限制仅允许可信客户端进行注册;同时配置网络防火墙策略,阻止 Keycloak 服务器对外部不可信地址(尤其是内网和元数据地址)发起出站请求。
