信息泄露:通过账户管理(用户访问)中的“添加用户”查找功能
报告 ID: #3401464
报告状态: 已解决
提交者: yoyomiski
提交时间: 2025年10月27日 下午3点(UTC)
版本: revive-adserver 6.0.0
摘要
当属于“管理1”账户的用户导航到“用户访问”->“添加用户”并输入一个用户名时,系统会在所有账户中进行全局查找,而不是将搜索范围限制在当前账户内。如果输入的用户名属于另一个账户(例如“管理2”)的用户,应用程序会在“添加用户”表单中返回并显示该用户的联系姓名和电子邮件地址,即使当前用户无权访问该账户。
账户结构示例:
|
|
复现步骤
前提条件: 安装有多账户(管理员、管理1、管理2)的Revive Adserver。攻击者账户 = 管理1下的用户。受害者账户 = 管理2下的用户。
- 以属于“管理1”的用户身份登录。
- 导航到“管理1”的“用户访问”页面。
- 点击“添加用户”(或将焦点置于“要添加的用户名”字段)。
- 在用户名字段中输入存在于“管理2”中的用户名(例如
yoyomiski)。 - 观察响应:表单将返回并显示
yoyomiski的联系姓名和电子邮件,尽管您没有访问“管理2”的权限。
影响
信息泄露:非特权用户可以获取其他账户用户的个人身份信息(联系姓名和电子邮件地址)。
时间线与回应
- 2025年10月27日,下午4:02(UTC) - mbeccati (Revive Adserver 团队成员) 评论:“感谢您的报告。我们会调查此事。”
- 2025年10月28日,上午10:28(UTC) - mbeccati 将状态更改为 已分类,并确认了该问题。他解释道,用户和账户管理系统是很久以前设计的,旨在实现极高的灵活性。这个本应是便利的功能可能被恶意利用。团队决定限制仅管理员用户能够链接现有用户,因为管理员已经拥有访问所有信息的权限,不会造成泄露。非管理员用户输入现有用户名时将收到错误消息,这有效地将信息泄露限制为“特定用户名已在使用”这一事实。团队认为这是一个良好的折中方案,可以在保持功能的同时增强安全性,因为用户名存在性检查并非公开访问,需要拥有系统的有效用户账户。
- 2025年10月28日,上午10:29(UTC) - mbeccati 附上了修复补丁
h1-3401464.patch(F4940759)。 - 2025年10月28日,上午10:38(UTC) - yoyomiski 表示理解,并询问是否分配了CVE ID。
- 2025年10月28日,上午11:05(UTC) - mbeccati 将报告状态改为 已解决。说明团队计划在下周三(11月5日)发布一个修复多个漏洞的安全版本,将申请CVE-ID并准备详细的安全公告。同时,鉴于部分漏洞的风险等级,将在细节公开前等待一段时间,以便更多用户有机会升级。
- 2025年10月28日,上午11:14(UTC) - yoyomiski 表示同意该计划,并提供了希望署名的名称:Dao Hoang Anh (yoyomiski)。
- 2025年11月4日,下午5:12(UTC) - mbeccati 将弱点从“信息泄露”更新为“由于策略不兼容导致的敏感信息暴露”。
- 2025年11月4日,下午5:14(UTC) - mbeccati 将严重性更新为中等(4.3),并更新了CVSS评分,更改了CWE-ID(不鼓励使用CWE-200)。
- 2025年11月4日,下午5:27(UTC) - mbeccati 更新了CVE引用为 CVE-2025-52669。
- 大约9天前 - mbeccati 请求并最终公开了此报告。
报告详情
- 报告 ID: #3401464
- 状态: 已解决
- 严重性: 中等(4.3)
- 公开时间: 2025年11月19日,上午9:34(UTC)
- 弱点: 由于策略不兼容导致的敏感信息暴露
- CVE ID: CVE-2025-52669
- 赏金: 隐藏