IPBUF安全漏洞报告
English
CVE-2026-33482 CVSS 8.1 高危

CVE-2026-33482 AVideo远程命令执行漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2026-33482
漏洞类型
操作系统命令注入
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

RCECommand InjectionOS Command InjectionWWBN AVideoCVE-2026-33482BypassVideo Platform

漏洞概述

WWBN AVideo在26.0及以下版本中存在命令注入漏洞。`sanitizeFFmpegCommand()` 函数虽移除了常见Shell元字符,但忽略了 `$()` 命令替换语法。攻击者利用该绕过特性,在 `sh -c` 上下文中执行任意命令,从而在独立编码器服务器上获得远程代码执行权限。

技术细节

该漏洞的核心在于 `plugin/API/standAlone/functions.php` 中的 `sanitizeFFmpegCommand()` 函数采用了不完整的黑名单过滤机制。该函数旨在防止 ffmpeg 命令注入,移除了 `&&`, `;`, `|`, `` ` ``, `<`, `>` 等常见的 Shell 元字符。然而,它未能识别并过滤 Bash 的命令替换语法 `$()`。由于被“净化”的命令随后被传递给 `execAsync()`,并在双引号包裹的 `sh -c` 上下文中执行,攻击者可以利用这一特性。在双引号定义的 Shell 字符串中,`$()` 语法依然有效,允许攻击者注入并执行任意系统命令。攻击者只需构造一个包含 `$(malicious_command)` 的有效加密载荷发送给服务器,即可在独立的编码器服务器上实现远程代码执行。该漏洞的修复补丁位于 commit 25c8ab90269e3a01fb4cf205b40a373487f022e1。

攻击链分析

STEP 1
侦察
攻击者发现使用 WWBN AVideo 26.0 或更低版本的目标,并确认其启用了独立编码器功能。
STEP 2
载荷构造
攻击者构造包含 `$()` 语法(Bash 命令替换)的恶意字符串,例如 `$(whoami)`,以此绕过 `sanitizeFFmpegCommand()` 对常见Shell元字符的过滤。
STEP 3
漏洞利用
攻击者将恶意 payload 按照应用要求进行加密,并通过 API 接口发送给目标服务器的独立编码器端点。
STEP 4
命令执行
服务器接收请求,解密 payload 并传递给 `execAsync()`。由于在 `sh -c` 上下文中执行,`$()` 内的命令被 Shell 解析并运行。
STEP 5
获得权限
攻击者成功在服务器上执行任意系统命令,可能导致服务器被完全控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Concept for CVE-2026-33482 # This demonstrates how to bypass the sanitizeFFmpegCommand filter. # The application strips characters like ; | && but misses $(). import requests target_url = "http://target-site/plugin/API/standAlone.php" # The payload injects a command using $() syntax. # Example: Creating a file named 'pwned' to prove execution. # Note: The actual parameter name and encryption method depend on the app config. malicious_cmd = "$(touch /tmp/pwned)" # Assume 'videoUrl' or similar parameter is passed to ffmpeg # The payload would be: "normal_input $(touch /tmp/pwned)" payload = f"input.mp4 {malicious_cmd}" # In a real exploit, this payload would need to be encrypted # as expected by the AVideo standalone encoder API. data = { "encryptedPayload": "<encrypted_representation_of_payload>" } # response = requests.post(target_url, data=data) # print("Check /tmp/pwned on the server to verify RCE")

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用 AVideo 的独立编码器 API 功能,或通过网络访问控制列表(ACL)限制对相关端点的访问,仅允许内部受信任的服务器 IP 连接。

参考链接

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