Revive Adserver授权绕过漏洞分析:无需密码即可篡改用户邮箱

本文详细分析了Revive Adserver 6.0.0中存在的授权绕过漏洞,攻击者无需提供当前密码即可修改任意用户邮箱地址,包括管理员账户,可能导致账户完全被接管。漏洞涉及/admin/agency-user.php端点未实施重新认证机制。

Revive Adserver授权绕过漏洞分析

漏洞概述

Revive Adserver 6.0.0版本存在授权绕过漏洞,允许经过身份验证的攻击者在无需提供当前密码的情况下修改其他用户(包括管理员)的邮箱地址。

漏洞详情

问题描述

  • 正常修改邮箱功能(Preferences → Change E-mail)要求输入当前密码
  • 但管理员面板端点/admin/agency-user.php接受POST请求更新用户邮箱,未要求账户密码验证
  • 应用程序在更新邮箱地址前未实施重新认证机制

复现步骤

  1. 登录系统
  2. 进入Inventory → User Access,选择管理员用户
  3. 拦截"Save changes"请求
  4. 修改并发送以下请求:
1
submit=1&login=admin&token=ba6ff2f70a69a509d5bcc84cb2225517&userid=1&email_address=another-mail@example.com&agencyid=1
  1. 观察管理员邮箱成功更新,无需密码确认

影响分析

  • 具有User Access页面访问权限的认证攻击者可未经授权修改管理员邮箱地址
  • 可能导致账户被完全接管或访问控制完整性丧失
  • 攻击者可将管理员邮箱改为自己控制的邮箱,然后使用"忘记密码"功能接收重置链接,完全控制管理员账户

漏洞修复

开发团队提供了补丁文件h1-3398283.patch修复该漏洞。任何具有提升权限(管理员或"允许此用户管理此账户的用户"权限)的登录用户都可利用相应的/admin/*-user.php脚本修改现有用户的邮箱地址。

时间线

  • 2025年10月24日:漏洞报告提交
  • 2025年10月26日:提供修复补丁
  • 2025年10月29日:分配CVE-2025-48986
  • 2025年11月5日:计划安全发布
  • 2025年11月19日:完全披露

严重程度

漏洞严重程度从最初的低风险(2.7)调整为高风险(8.8),因为攻击不需要管理员权限。

技术细节

漏洞根本原因在于访问控制不当,应用程序在处理敏感操作(邮箱修改)时未实施适当的重新认证机制。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计