Revive Adserver 授权绕过漏洞:无需密码即可篡改他人邮箱地址

本文详细分析了Revive Adserver 6.0.0中存在的一处授权绕过漏洞。该漏洞允许拥有“管理用户”权限的认证用户,在无需提供当前密码的情况下,通过特定接口任意修改包括管理员在内的其他用户的邮箱地址,进而可能导致账户被完全接管。

授权绕过漏洞允许修改其他用户的电子邮件地址

报告ID: #3398283 提交者: yoyomiski 提交日期: 2025年10月24日 下午3:14 (UTC) 目标: Revive Adserver 版本: Revive Adserver 6.0.0

摘要

在“更改电子邮件”用户界面中,修改邮箱需要输入当前密码。然而,管理员面板的端点 /admin/agency-user.php 接受一个POST请求来更新用户(包括管理员)的电子邮件,且不要求提供账户密码。应用程序在更新电子邮件地址前没有要求重新认证。

复现步骤

  1. 登录系统。
  2. 进入 Preferences(首选项) → Change E-mail(更改电子邮件),观察正常情况下更改电子邮件需要输入当前密码。
  3. 导航至 Inventory(库存) → User Access(用户访问),选择管理员用户,点击“保存更改”按钮,同时拦截该请求。
  4. 修改并发送以下请求:
    1
    
    submit=1&login=admin&token=ba6ff2f70a69a509d5bcc84cb2225517&userid=1&email_address=another-mail@example.com&agencyid=1
    
    复现步骤截图
  5. 观察发现,管理员用户的电子邮件在无需密码确认的情况下被成功更新。

影响

一个已认证的攻击者(能够访问“用户访问”页面)可以在未经授权的情况下更改管理员的电子邮件地址。这可能导致账户被接管或访问控制完整性丧失。

概念验证视频: (已编辑)

漏洞利用链分析

  1. 攻击者可以利用此漏洞,在无需提供当前密码的情况下,将管理员的电子邮件地址更改为攻击者控制的地址。
  2. 随后,攻击者可以使用“忘记密码”功能。
  3. 密码重置链接将被发送到攻击者控制的邮箱,从而使攻击者能够完全控制管理员账户。

时间线与处理过程

  • 2025-10-24 15:47 (UTC): Revive Adserver 工作人员 mbeccati 将报告状态变更为 已分类。确认了导致问题的代码路径,并计划在下周提供修复补丁。初步评估为低风险漏洞,因为需要物理访问或窃取的会话ID,因此不会单独发布安全版本。修复将安排在下一个常规错误修复版本中。
  • 2025-10-26 15:45 (UTC): mbeccati 附上了修复该漏洞的补丁文件 h1-3398283.patch。确认任何拥有提升权限(管理员或具有“允许此用户管理此账户的用户”权限)的登录用户,都可以使用其相应的 /admin/*-user.php 脚本来更改任何现有用户的电子邮件地址,并通过“忘记密码”功能接管其账户。
  • 2025-10-26 15:55 (UTC): mbeccati 将漏洞严重性等级从 低 (2.7) 提升至 高 (7.2)
  • 2025-10-28 11:03 (UTC): mbeccati 将报告状态标记为 已解决。计划于11月5日(周三)发布安全版本,修复包括此漏洞在内的多个问题。将申请CVE-ID并发布详细的安全公告。出于风险考虑,将在漏洞细节披露前预留一段时间供用户升级。
  • 2025-10-29 09:21 (UTC): 报告标题从《Missing re-authentication allows changing admin email without password — Revive Adserver 6.0.0》更新为《Authorization bypass allows changing email address of other users》。
  • 2025-10-29 13:34 (UTC): 漏洞严重性等级更新为 高 (8.8),原因是攻击不需要管理员权限
  • 2025-10-29 13:39 (UTC): CVE参考编号更新为 CVE-2025-48986
  • 2025-11-12 09:24 (UTC): 报告者 yoyomiski 提供了进一步的更新,指出即使创建的账户仅有“允许此用户管理此账户的用户”权限(仍无法直接管理管理员账户),但“保存更改”按钮依然可用,并且可以利用该按钮更改管理员的邮箱,从而完全接管管理员账户。这进一步增加了该漏洞的影响。
  • 约9天前: mbeccati 同意披露此报告,报告被完全公开。

报告详情

  • 状态: 已解决
  • 严重性: 高 (8.8)
  • 披露日期: 2025年11月19日 上午9:32 (UTC)
  • 弱点类型: 不正确的访问控制(通用)
  • CVE ID: CVE-2025-48986
  • 致谢: Dao Hoang Anh (yoyomiski)
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计