Revive Adserver v6.0.0 详细错误信息导致信息泄露漏洞分析

本文详细分析了Revive Adserver v6.0.0版本中的一个信息泄露漏洞。攻击者通过触发详细错误信息,可获取后端数据库版本、SQL查询结构及PHP环境等敏感技术细节,从而为后续攻击提供便利。报告包含了复现步骤、影响分析及官方的修复方案。

漏洞报告 #3403450 - 通过详细错误信息导致信息泄露

报告者: yoyomiski 提交日期: 2025年10月29日,格林尼治标准时间凌晨4点 影响版本: revive-adserver 6.0.0

摘要

Revive Adserver v6.0.0 通过详细的错误信息暴露了敏感的技术细节,包括确切的 MySQL/MariaDB 版本、SQL 查询语句以及 PHP 环境信息。攻击者可以利用这些信息来识别已知漏洞或策划针对性的攻击。

复现步骤

  1. 登录网站。
  2. 访问 http://<IP地址>/admin/channel-acl.php?affiliateid=<ID>&channelid=<ID>
  3. 添加“客户端语言” -> 点击“保存更改”。
  4. 拦截请求,在“执行顺序”字段中输入单引号 '

步骤截图1

  1. 提交请求,观察详细的错误输出,其中暴露了 MySQL/MariaDB 版本和 SQL 查询语句。

步骤截图2

影响

泄露后端详细信息(数据库版本、结构、PHP 信息)可能帮助攻击者识别漏洞或定制针对服务器的攻击。

技术细节

版本: Revive Adserver v6.0.0 PHP/数据库: PHP 8.4.13 / MySQL 10.6.22-MariaDB-0ubuntu0.22.04.1

错误信息中暴露的SQL语句:

1
2
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=<<会话ID>>
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:08 (UTC): 报告者 yoyomiski 补充说明,其在该位置尝试进行 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),并更新了 CVSS 评分。
  • 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 版本发布后提交的。
  • 约13天前: mbeccati 请求并随后 公开 了此份报告。

报告元数据

  • 报告ID: #3403450
  • 状态: 已解决
  • 严重性: 中等 (4.3)
  • 公开日期: 2025年11月19日,上午9:35 (UTC)
  • 弱点类型: 通过错误消息导致的信息暴露
  • CVE ID: CVE-2025-52671
  • 赏金: 隐藏
  • 账户详情: 无
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计