漏洞剖析:Revive Adserver 管理后台存储型XSS漏洞 (CVE-2025-52667)

本报告详细披露了在 Revive Adserver 管理后台的 inventory-retrieve.php 页面中发现的一个存储型跨站脚本攻击(Stored XSS)漏洞。攻击者通过构造特定载荷并利用缺少 Content-type 头的JSON输出,可在受害者浏览器中执行恶意脚本。

Revive Adserver | 报告 #3399809 - inventory-retrieve.php 存储型 XSS | HackerOne

时间线

  • lu3ky-13 向 Revive Adserver 提交了一份报告。
    • 2025年10月25日,晚上9:24 (UTC)
  • lu3ky-13 更新了漏洞信息。
    • 2025年10月25日,晚上9:38 (UTC)
      • 我发现 Inventory –> Campaign 页面存在存储型跨站脚本攻击漏洞。
      • 重现步骤:
        1. 进入 Inventory -> Campaign -> 在“名称*”字段中添加载荷。
        2. 写入任意载荷,例如:"><img src=x onerror=alert(document.domain)>
        3. 访问此链接:http://localhost/ddf/revive-adserver-6.0.1/www/admin/inventory-retrieve.php?clientid=1
        4. 你会看到警报弹窗。
      • 截图 1: ![](Image•48.54 KiB•F4932943: image.png) [全屏查看] [下载] [复制引用ID]
      • 打开此 URL: http://localhost/ddf/revive-adserver-6.0.1/www/admin/inventory-retrieve.php?clientid=1
      • 截图 2: ![](Image•29.83 KiB•F4932944: image.png) [全屏查看] [下载] [复制引用ID]
      • 影响: inventory-retrieve.php 和 campaign-edit.php 页面存在存储型跨站脚本攻击漏洞。
      • 附件: 2 个附件 (F4932943: image.png, F4932944: image.png)
  • lu3ky-13 将严重等级从“无”更新为“中 (6.5)”。
    • 2025年10月25日,晚上9:25 (UTC)
  • mbeccati (Revive Adserver 员工) 将状态更改为“已分类”。
    • 2025年10月26日,上午9:13 (UTC)
      • 感谢您的报告:漏洞已确认。
  • mbeccati (Revive Adserver 员工) 发布了一条评论。
    • 2025年10月26日,上午10:41 (UTC)
      • 附上的文件 h1-3399809.patch (F4933981) 应能修复此漏洞。XSS 发生的原因是 inventory-retrieve.php 脚本输出 JSON 数据但没有相应地设置 Content-type 头,导致浏览器将输出解析为 HTML 并执行其中包含的任何脚本。
      • 附件: 1 个附件 (F4933981: h1-3399809.patch)
  • mbeccati (Revive Adserver 员工) 将严重等级从“中 (6.5)”更新为“低 (3.5)”。
    • 2025年10月26日,上午11:32 (UTC)
      • 已将 CVSS 评分更改为适合此类 XSS 攻击的数值,该攻击需要有效账户来存储载荷,并且需要用户交互来执行载荷。
  • mbeccati (Revive Adserver 员工) 关闭了报告并将状态更改为“已解决”。
    • 2025年10月28日,上午11:03 (UTC)
      • 我们目前计划在下周三(11月5日)进行一次安全更新,修复多个漏洞。
      • 我们将申请 CVE-ID 并准备详细的安全公告。如果您尚未告知,请告诉我们您希望使用的署名名称。
      • 然而,由于某些漏洞的风险等级,我们将在披露细节之前等待一段时间,以便让尽可能多的用户在漏洞利用代码在野外出现之前完成升级。希望您能理解并同意该计划。
  • lu3ky-13 发布了一条评论。
    • 2025年10月28日,上午11:57 (UTC)
      • 署名:
      • Ahmed Abdalkhaliq Abdulla (Lu3ky.13)
      • https://github.com/Lu3ky13
  • mbeccati (Revive Adserver 员工) 将报告标题从“Cross-site Scripting (XSS) - Stored on inventory-retrieve.php and campaign-edit.php”更改为“Stored XSS on inventory-retrieve.php”。
    • 2025年10月31日,下午2:27 (UTC)
  • lu3ky-13 发布了一条评论。
    • 2025年11月2日,上午10:12 (UTC)
      • 你好团队,请问可以更新 CVE 并发送给我吗?谢谢。
  • erikgeurts (Revive Adserver 员工) 发布了一条评论。
    • 2025年11月3日,上午9:20 (UTC)
      • 我的同事 Matteo 上周已经提到:
      • 我们目前计划在下周三(11月5日)进行一次安全更新,修复多个漏洞。
      • 我们将申请 CVE-ID 并准备详细的安全公告。如果您尚未告知,请告诉我们您希望使用的署名名称。
  • lu3ky-13 发布了一条评论。
    • 2025年11月3日,上午11:55 (UTC)
      • 署名:
      • Ahmed Abdalkhaliq Abdulla (Lu3ky.13)
      • https://github.com/Lu3ky13
      • 你好,可以告诉我 CVE 公开需要多长时间吗?
      • report_id=339921
      • report_id=3399191
  • erikgeurts (Revive Adserver 员工) 发布了一条评论。
    • 2025年11月3日,下午12:27 (UTC)
      • 我无法表达得更清楚了:
      • 我们目前计划在下周三(11月5日)进行一次安全更新,修复多个漏洞。
      • 我们将申请 CVE-ID 并准备详细的安全公告。如果您尚未告知,请告诉我们您希望使用的署名名称。
  • mbeccati (Revive Adserver 员工) 将 CVE 引用更新为 CVE-2025-52667
    • 2025年11月4日,上午8:22 (UTC)
  • lu3ky-13 请求公开此报告。
    • 2025年11月10日,晚上10:22 (UTC)
  • mbeccati (Revive Adserver 员工) 同意公开此报告。
    • 7 天前
  • 此报告已被公开。
    • 7 天前

报告详情

  • 报告时间: 2025年10月25日,晚上9:24 (UTC)
  • 报告人: lu3ky-13
  • 报告对象: Revive Adserver
  • 报告 ID: #3399809
  • 状态: 已解决
  • 严重性: 低 (3.5)
  • 公开时间: 2025年11月19日,上午9:33 (UTC)
  • 漏洞类型: 存储型跨站脚本攻击
  • CVE ID: CVE-2025-52667
  • 赏金: 隐藏
  • 账户详情:
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计