Revive Adserver账户管理功能中的信息泄露漏洞分析

本文详细分析了Revive Adserver 6.0.0版本中,非特权用户通过“添加用户”功能的全局搜索,跨账户泄露其他用户个人身份信息(PII)的安全漏洞及其修复方案。

信息泄露:通过账户管理(用户访问)中的“添加用户”查找功能

报告 ID: #3401464

报告状态: 已解决

提交者: yoyomiski

提交时间: 2025年10月27日 下午3点(UTC)

版本: revive-adserver 6.0.0

摘要

当属于“管理1”账户的用户导航到“用户访问”->“添加用户”并输入一个用户名时,系统会在所有账户中进行全局查找,而不是将搜索范围限制在当前账户内。如果输入的用户名属于另一个账户(例如“管理2”)的用户,应用程序会在“添加用户”表单中返回并显示该用户的联系姓名和电子邮件地址,即使当前用户无权访问该账户。

账户结构示例:

1
2
3
4
5
6
7
1Administrator Account
2├── Management 1
3│    ├── User A1
4│    └── User A2
5└── Management 2
6     ├── User B1 (泄露邮箱,联系人姓名)
7     └── User B2 (泄露邮箱,联系人姓名)

复现步骤

前提条件: 安装有多账户(管理员、管理1、管理2)的Revive Adserver。攻击者账户 = 管理1下的用户。受害者账户 = 管理2下的用户。

  1. 以属于“管理1”的用户身份登录。
  2. 导航到“管理1”的“用户访问”页面。
  3. 点击“添加用户”(或将焦点置于“要添加的用户名”字段)。
  4. 在用户名字段中输入存在于“管理2”中的用户名(例如 yoyomiski)。
  5. 观察响应:表单将返回并显示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
  • 赏金: 隐藏
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计