Revive Adserver 漏洞报告 #3404968 - “横幅名称”字段中的存储型XSS
报告概述
报告ID: #3404968 (副本报告ID)
漏洞标题: “横幅名称”字段中的存储型跨站脚本攻击 (Stored-XSS)
提交者: yoyomiski (已验证身份的黑客)
提交时间: 2025年10月30日,UTC时间上午2:36
报告目标: Revive Adserver
时间轴与参与者:
- 2025年10月30日,上午8:24 (UTC): Revive Adserver 工作人员 mbeccati 将状态更改为 已分类,并评论:“感谢您的报告。问题已确认:攻击者必须是一个权限高于受害者的用户,因此我认为影响较低。附件 h1-3404968.diff (F4948789) 文件应能修复此问题。”
- 2025年10月30日,上午8:29 (UTC): 报告提交者 yoyomiski 回复:“好的,谢谢 @mbeccati ,你可以更新‘弱点’类型。”
- 2025年11月4日,上午8:15 (UTC): mbeccati 将严重性从 中等 更新为 低 (3.5),并注明:“对子用户的XSS攻击”。
- 2025年11月4日,上午8:16 (UTC): mbeccati 将报告状态更改为 已解决 并关闭报告,评论道:“我们目前计划在明天(11月5日,星期三)进行一次安全发布,修复多个漏洞。我们将申请CVE-ID并准备详细的安全公告。如果您还没有提供,请告知您希望被收录的姓名。然而,由于某些漏洞的风险级别,我们将在披露细节前等待一段时间,以便让尽可能多的用户在利用代码在野外出现之前升级。希望您理解并同意该计划。”
- 2025年11月4日,上午8:22 (UTC): yoyomiski 再次评论:“好的,谢谢 @mbeccati,你可以更新‘弱点’ = 存储型XSS”。
- 2025年11月4日,上午8:27 (UTC): mbeccati 添加了弱点类型:“跨站脚本 (XSS) - 存储型”。
- 2025年11月4日,下午6:10 (UTC): mbeccati 将CVE引用更新为 CVE-2025-55123。
- 9天前: mbeccati 请求披露此报告。
- 9天前: mbeccati 披露了此报告。
漏洞详情
受影响版本: revive-adserver 6.0.0
摘要: 在“横幅 → 名称”字段中存在一个存储型跨站脚本 (XSS) 漏洞。攻击者可以在创建或编辑横幅时,在“名称”字段中插入恶意负载;该负载将被存储在数据库中,随后,当通过“用户访问”(位于“广告客户”下)被添加到该横幅的用户查看该横幅时,负载将在其浏览器中执行。这会导致在受害者会话上下文中持久执行JavaScript。
注意事项:
正如贵方所述,此存储型XSS位于特定区域之外:“横幅需要完整的JavaScript支持,前置/追加代码也是如此。事实上,大多数HTML横幅或跟踪脚本只是一个 <script> 标签。”
复现步骤:
- 前往“横幅 → 创建”(或编辑现有横幅)。
- 在“名称”字段中,插入负载:
"><script>alert(1)</script> - 保存横幅。该名称将持久保存在数据库中。
- 通过“用户访问”(广告客户)将另一用户(受害者)添加到该横幅。
- 以被添加用户的身份登录。前往“横幅”页面,XSS将被触发。
影响: 在通过“用户访问”(广告客户)有权访问该横幅的用户的浏览器中执行持久性XSS。
概念验证视频: ███
附件:
- F4948789: h1-3404968.diff (修复该问题的补丁文件)
报告状态信息
- 报告ID: #3404968
- 状态: 已解决
- 严重性: 低 (3.5)
- 披露时间: 2025年11月19日,上午9:36 (UTC)
- 弱点: 跨站脚本 (XSS) - 存储型
- CVE ID: CVE-2025-55123
- 赏金: 隐藏
- 账户详情: 无