重要安全漏洞被发现
2021年12月23日 作者:Stian Thorgersen
这篇文章发布已超过一年。博客文章中的内容可能已过时。
在 Keycloak 12.0.0 至 15.1.1 版本中发现了一个漏洞 (CVE-2021-4133),该漏洞允许任何拥有现有用户帐户的攻击者通过管理 REST API 创建新的默认用户帐户,即使已禁用新用户注册。
在大多数情况下,新创建的用户等同于自助注册用户,并且没有能力获得任何额外的角色或组。然而,存在一些更难重现的途径,但可能导致额外的权限。
我们强烈建议所有人尽快升级到 Keycloak 15.1.1 或 16.1.0。Keycloak 16.0.0 也包含了修复程序,但如果您尚未运行此版本,我们建议直接升级到 16.1.0。
如果您无法升级,我们建议通过临时阻止访问用户创建 REST 端点来缓解此问题。
bin/jboss-cli.sh --connect
/subsystem=undertow/configuration=filter/expression-filter=keycloakPathOverrideUsersCreateEndpoint:add( \
expression="(regex('^/auth/admin/realms/(.*)/users$') and method(POST))-> response-code(400)" \
)
/subsystem=undertow/server=default-server/host=default-host/filter-ref=keycloakPathOverrideUsersCreateEndpoint:add()
这将阻止创建新用户的有效和无效尝试,包括来自 Keycloak 管理控制台的请求。
或者,可以使用防火墙阻止路径 /auth/admin/realms/.*/users
和方法 POST
,或完全阻止 /auth/admin
。