Revive Adserver | 报告 #3399218 - 设置中不当的输入净化可能导致拒绝服务攻击
报告时间:2025年10月25日 凌晨4:42 (UTC) 报告者:lu3ky-13 (已验证黑客) 报告状态:已解决 严重性:低 (CVSS 2.7) CVE ID:CVE-2025-52666
漏洞概述
在 account-settings-email.php 文件中发现一个输入净化/编码问题。攻击者可以控制的 email_fromName 和 email_fromCompany 字段值在被保存后,后续在页面上渲染时没有进行适当的输出编码。由于可以持久化并执行任意JavaScript代码,攻击者能够运行脚本来破坏或替换页面UI——实质上导致受害者无法使用该网站(DOM层面的拒绝服务攻击)。这是一个存储型脚本注入漏洞,当渲染给管理员或特权用户时具有高影响。
安全概念验证
- 访问
http://localhost/test2/revive-adserver-6.0.1/www/admin/account-settings-email.php - 在
email_fromName和email_fromCompany字段中添加有效载荷 - 这将导致网站所有功能无法使用
HTTP请求示例
|
|
使用到的有效载荷示例
|
|
影响
当持久化的值被渲染到用户查看的任何页面时,会在应用程序源中执行任意脚本。
可能的攻击行为包括:
- 替换页面内容或移除UI控件(使受害者无法使用站点)。
- 阻止与应用程序的交互(禁用按钮、隐藏表单)——对于查看受感染页面的用户而言,这实质上是一种定向拒绝服务攻击。
- 针对用户的钓鱼覆盖、强制操作或其他客户端攻击(仅当Cookie/会话未加固时可能发生数据窃取)。
- 如果管理员用户查看受影响的页面,影响将很高(站点中断;可能在管理员上下文中执行特权操作)。
时间线与处理过程
- 2025-10-25 04:42 UTC:报告提交,初始状态为“新”,严重性评级为“高(7.3)”。
- 2025-10-25 07:09 UTC:项目成员
mbeccati要求提供更多信息,询问生成问题的有效载荷类型。 - 2025-10-25 14:11 UTC:报告者提供了具体的有效载荷示例,并指出其他部分也存在相同问题。
- 2025-10-25 18:16 UTC:项目成员确认问题“非常有趣”,状态更新为“已分类”。
- 2025-10-26 10:54 UTC:项目成员附上了修复补丁 (
h1-3399218.patch),并解释了漏洞原理:代码没有正确转义具有特殊含义的%字符(在Symfony参数中),使用两个百分号之间的意外内容可能导致应用程序崩溃。同时指出风险较低,因为只有管理员可以更改设置,且设置页面受到CSRF保护。 - 2025-10-26 11:29 UTC:严重性从“高(7.3)”下调至“低(2.7)”。理由是攻击者需要管理员权限,且最多只能破坏管理员UI。
- 2025-10-27 12:03 UTC:项目成员确认该报告覆盖了所有设置,因为根本原因是相同的。
- 2025-10-28 11:04 UTC:报告状态更新为“已解决”。项目成员计划在11月5日(周三)进行安全更新,修复包括此漏洞在内的多个问题,并会申请CVE-ID。
- 2025-10-31 13:48 UTC:报告标题从“存储型JavaScript注入…”更改为“设置中不当的输入净化可能导致拒绝服务攻击”。
- 2025-10-31 14:23 UTC:更新CVE引用为 CVE-2025-52666。
- 2025-11-10 22:21 UTC:报告者请求公开披露此报告。
- 约13天前:项目成员同意披露,报告被公开。
补充信息
报告者在交流中询问了关于CVE分配和漏洞奖励的问题。项目方确认如果漏洞被确认,每个报告都会获得CVE-ID,并将在新版本发布时公开披露。报告者要求的署名信息为:Ahmed Abdalkhaliq Abdulla (Lu3ky.13)。