# ZITADEL 登录界面用户枚举漏洞
## 概述
ZITADEL 存在一个用户枚举漏洞,影响其登录接口,允许未认证攻击者验证有效用户账户的存在。
## 影响版本
- 4.9.1 之前的所有 4.x 版本
- 3.4.6 之前的所有 3.x 版本
## 细节
攻击者可通过在登录接口中迭代用户名和用户ID,观察响应差异,判断账户是否存在。该漏洞存在于未修复版本的登录逻辑中。
## 影响
未认证攻击者可利用此漏洞进行用户枚举,为后续的撞库、钓鱼或暴力破解等攻击提供目标信息。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release v4.9.1 · zitadel/zitadel · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键漏洞信息
- **Bug Fixes**
- 允许当smtp-config没有设置密码时正常工作。(相关问题: #11193, #11084)
- 实现api上对ListAdministrators endponit缺少的过滤功能。(相关问题: #11319)
- 在cmd/build中:当没有通过ldflags设置date变量时,对其进行填充。(相关问题: #11316)
- 登录v1:正确地处理自动重新认证,使用id_token_hint。(相关问题: #11326)
- 登录:当ignoreUsername设置为true时,正确重定向到/passwort。(相关问题: #11130)
- 登录:在验证码验证时,增强错误信息的通用性。
- 登录:代替onBlur,使用onChange与react-hook-form配合使用。(相关问题: #11354)
- **版本**
- v4.9.1,发布日期:2026-01-14(注意这里的发布日期似乎是未来日期,可能是截图中的错误数据或是练习数据)
- **更新资产**
- 提供了多个平台(Darwin, Linux, Windows)和架构(amd64, arm64)的二进制文件和源码,用户可根据自身平台进行选择下载。
标题: Release v3.4.6 · zitadel/zitadel · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
以下是关于漏洞的关键信息的简洁markdown返回:
```
## 关于漏洞的关键信息
### 版本信息
- **发布版本**: v3.4.6
- **发布日期**: 5天前
- **关联潜在问题**: v3.4.5中提及的潜在问题已被修复
### 安全提示
- **安全警报**: 安全标签显示该版本包含关键的安全更新和修复
### Bug修复
- **同步问题**: 修复了同步会员角色时可能遇到的问题,具体见#11178
- **登录问题**: 广泛化了代码验证时的错误消息,具体见#11180
```
由于提供的信息集中在版本更新上,没有直接提及具体的漏洞,但是根据安全标签和对潜在问题的修复,我们可以认为本次版本更新中包含了对安全性的提升。
标题: User enumeration vulnerability in Login UIs · Advisory · zitadel/zitadel · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键漏洞信息
### 漏洞描述
- **漏洞类型**: 用户枚举漏洞 (User enumeration vulnerability)
- **影响系统**: ZITADEL 的登录界面
- **发现者**: livio-a
- **发布时间**: 5 天前
### 影响
- **受影响版本**:
- 4.0.0 - 4.9.0
- <=2.71.19
- 3.0.0 - 3.4.5
- **修复版本**:
- 4.9.1
- 3.4.6
### 漏洞详情
- **摘要**:
- ZITADEL 登录界面存在用户枚举漏洞,未认证的攻击者可以通过遍历用户名和用户 ID 确认有效用户账户的存在。
- **影响**:
- 登录界面 V1 和 V2 允许请求密码重置,通过任意用户 ID 提交请求,攻击者可以区分有效和无效账户。
- 为了有效利用该漏洞,攻击者需要遍历潜在的用户 ID,可以通过限流等措施限制影响。
- **已修复措施**:
- 修复版本返回通用错误消息,不指示用户存在。
### 工作区建议
- **推荐方案**:
- 升级到已修复的版本。
- 实施限流等措施限制用户枚举。
### 其他
- **联系邮箱**: security@zitadel.com
### 安全评分
- **CVSS v3**:
- 基础分: 5.3 / 10
- 严重性: 中等
- **CVE ID**: CVE-2026-23511
标题: fix(login): generalize error message on code verifications · zitadel/zitadel@b85ab69 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 漏洞关键信息
#### 1. 漏洞描述
- **问题类型**:
- 通过公开的登录界面端点(例如密码重置功能)接受 `userID` 作为查询参数时,可以根据响应的不同,判断用户ID是否存在。
#### 2. 解决方法
- **返回通用错误消息**:
- 不管用户ID是否存以及验证码是否正确,都要返回通用的错误消息。
- 使用组织默认策略替代失败时的策略加载。
#### 3. 代码变更
- **更改文件**:
- `internal/api/ui/login/init_password_handler.go`
- `internal/api/ui/login/init_user_handler.go`
- `internal/api/ui/login/invite_user_handler.go`
- `internal/api/ui/login/mail_verify_handler.go`
- `.../api/ui/login/password_complexity_policy_handler.go`
#### 4. 关键修复点
- **认证响应**:
- 确保所有响应信号保持一致,避免泄露错误信息。
- 示例代码变更如:
- `renderInitPassword` 和 `l.renderInitUser` 都增加了 `WithFields` 的日志记录。
- `zerrors.ThrowInvalidArgument` 防止非内部错误消息暴露。
#### 5. 版本影响
- 修复被应用至 v4.9.1 版本。
- 涉及回溯修复内容:从 `9039540` 提交。
标题: fix(login): correctly redirect to `/password` when `ignoreUnknownUser… · zitadel/zitadel@c300d4c · GitHub -- 🔗来源链接
标签:x_refsource_MISC
暂无评论