IPBUF安全漏洞报告
English
CVE-2026-34718 CVSS 6.1 中危

CVE-2026-34718 Zammad存储型XSS漏洞

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-34718
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Zammad

相关标签

XSSZammad存储型XSSHTML注入Web安全

漏洞概述

Zammad是一款基于Web的开源帮助台系统。在7.0.1和6.5.4之前的版本中,其工单文章的HTML清理器未能正确清理data URI方案。这导致攻击者可以将包含恶意内容的data URI存储在Zammad数据库中。尽管Zammad GUI会渲染这些内容,但由于CSP规则的存在,点击此类链接通常不会造成直接危害,但仍存在安全隐患。该漏洞已在7.0.1和6.5.4版本中修复。

技术细节

该漏洞的核心在于Zammad系统对工单文章内容进行HTML净化时的逻辑缺陷。具体而言,系统未能有效识别并过滤掉`data:` URI协议,这是一种常用于内嵌数据的协议。攻击者利用此缺陷,可以构造包含JavaScript代码的`data:`链接,并通过工单提交接口将其发送至服务器。由于缺乏适当的清理,该恶意载荷被直接存储在数据库中。后续,当具有权限的用户在Web界面打开该工单时,浏览器会解析这些HTML内容,尝试加载`data:` URI。尽管Zammad部署了CSP来限制外部脚本加载,从而在一定程度上阻止了直接XSS执行,但该漏洞仍构成风险,特别是在CSP配置不严格的情况下,可能被利用于窃取会话信息。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标运行的是存在漏洞的Zammad版本(< 7.0.1 或 < 6.5.4)。
STEP 2
2. 载荷构造
攻击者构造包含恶意JavaScript的`data:` URI链接。
STEP 3
3. 漏洞利用
攻击者通过工单创建或回复功能,将带有恶意`data:` URI的内容提交给服务器。
STEP 4
4. 数据存储
由于HTML清理器缺失对`data:`协议的过滤,恶意内容被持久化存储在数据库中。
STEP 5
5. 触发漏洞
当管理员或客服人员查看受感染的工单时,GUI渲染恶意内容。虽然CSP可能限制执行,但XSS攻击条件已满足。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Proof of Concept for CVE-2026-34718 --> <!-- Inject this payload into a ticket article body --> <a href="data:text/html,<script>alert('CVE-2026-34718 XSS')</script>">Click here</a>

影响范围

Zammad < 7.0.1
Zammad < 6.5.4

防御指南

临时缓解措施
如果无法立即升级,建议在WAF层面对传入的工单内容进行深度检测,拦截包含`data:` URI的请求。同时,加强对用户提交内容的输入验证,确保HTML清理器能够覆盖所有危险的URI协议。

参考链接

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