本文详细介绍了Revive Adserver v6.0.0版本中存在的一个信息泄露漏洞。攻击者通过构造特定请求,可诱使系统返回包含MySQL/MariaDB数据库版本、详细SQL查询语句及PHP环境信息等敏感数据的详细错误消息,从而为后续攻击提供关键信息。
漏洞报告 #3403450 - 通过详细错误消息造成的信息泄露
摘要:
Revive Adserver v6.0.0 通过详细的错误消息暴露了敏感的技术细节,揭示了确切的 MySQL/MariaDB 版本、SQL 查询和 PHP 环境详细信息。攻击者可以利用这些信息来识别已知的漏洞或策划有针对性的攻击。
复现步骤:
- 登录网站。
- 访问
http://<IP地址>/admin/channel-acl.php?affiliateid=<id>&channelid=<id>。
- 添加“客户端语言”限制条件 –> 点击“保存更改”。
- 拦截请求,在“执行顺序”字段中输入
'(单引号)。
- 提交并观察详细的错误输出,其中暴露了 MySQL/MariaDB 版本和 SQL 查询。
影响:
后端详细信息(数据库版本、结构、PHP 信息)的泄露可能有助于攻击者识别漏洞或针对服务器定制攻击。
暴露的代码/信息示例:
1
2
3
4
|
Version: Revive Adserver v6.0.0
PHP/DB: PHP 8.4.13 / MySQL 10.6.22-MariaDB-0ubuntu0.22.04.1
INSERT INTO rv_acls_channel (channelid , logical , type , comparison , data , executionorder ) VALUES ...
INSERT INTO rv_acls_channel (...) VALUES (...)
|
HTTP 原始请求头示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
POST /admin/channel-acl.php HTTP/1.1
Host: 192.168.109.200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 514
Origin: http://192.168.109.200
Sec-GPC: 1
Connection: keep-alive
Referer: http://192.168.109.200/admin/channel-acl.php
Cookie: sessionID=<<sessions>>
Upgrade-Insecure-Requests: 1
Priority: u=0, i
token=3f62fcfd14d8336b06e12b5adb678962&type=deliveryLimitations%3AClient%3ABrowserVersion&affiliateid=7&channelid=4&acl%5B0%5D%5Blogical%5D=and&acl%5B0%5D%5Btype%5D=deliveryLimitations%3AClient%3ABrowserVersion&acl%5B0%5D%5Bexecutionorder%5D=0&acl%5B0%5D%5Bcomparison%5D=nn&acl%5B0%5D%5Bdata%5D%5B%5D=Firefox&acl%5B1%5D%5Blogical%5D=and&acl%5B1%5D%5Btype%5D=deliveryLimitations%3AClient%3ALanguage&acl%5B1%5D%5Bexecutionorder%5D=1&acl%5B1%5D%5Bcomparison%5D=%3D%7E&acl%5B1%5D%5Bdata%5D%5B%5D=ar&submit=Save+Changes
|
时间线:
- 2025年10月29日,凌晨4点 (UTC): 漏洞报告者
yoyomiski 向 Revive Adserver 提交报告。
- 2025年10月29日,凌晨4:08 (UTC): 报告者补充说明,在此位置测试 SQL 注入未成功。
- 2025年10月29日,上午8:01 (UTC): Revive Adserver 员工
mbeccati 将状态更改为 已分类,并附上说明和修复补丁 (h1-3403450.patch)。说明指出,详细的错误信息是在过去用户自托管或由可信人员管理的时代设计的,对提交错误报告很有用。补丁通过将详细错误消息限制在链接到管理员账户的用户来修复此问题,并计划在下一周发布。
- 2025年10月29日,上午9:16 (UTC):
mbeccati 将报告状态更改为 已解决。
- 2025年11月4日,下午5:46 (UTC):
mbeccati 将严重性更新为中等 (4.3)。
- 2025年11月4日,下午5:56 (UTC):
mbeccati 更新 CVE 引用为 CVE-2025-52671。
- 2025年11月12日,上午8:01 (UTC):
mbeccati 添加 @vidang04 到报告中,因其独立发现了另一个生成详细 SQL 错误的途径。两者都将获得奖励。
- 2025年11月12日,上午9:18 (UTC):
mbeccati 更正说明,报告是在 6.0.2 版本发布后提交的。
- 大约12天前:
mbeccati 请求公开此报告。
- 大约12天前:
mbeccati 公开了此报告。
报告详情:
- 报告于: 2025年10月29日,凌晨4点 (UTC)
- 报告者: yoyomiski
- 报告对象: Revive Adserver
- 报告ID: #3403450
- 状态: 已解决
- 严重性: 中等 (4.3)
- 公开时间: 2025年11月19日,上午9:35 (UTC)
- 弱点类型: 通过错误消息暴露信息
- CVE ID: CVE-2025-52671
- 赏金: 隐藏
- 账户详情: 无