CVE-2025-61417CVE-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,结合其他攻击技术实现更广泛的入侵。