CVE-2025-56399CVE-2025-56399是laravel-file-manager组件中的一个高危远程代码执行漏洞,CVSS评分8.8。该漏洞影响3.3.1及之前版本,允许经过身份认证的低权限攻击者通过精心构造的文件上传实现服务器端代码执行。漏洞根源在于文件上传验证机制存在缺陷,攻击者可上传包含PHP代码的.png文件绕过客户端验证,文件会被服务器保存。随后攻击者利用重命名API将文件扩展名从.png改为.php,当通过公开URL访问该文件时,服务器会将其作为PHP脚本执行,从而实现远程代码执行。攻击成功后,攻击者可在服务器上执行任意系统命令,完全控制应用服务器,对系统机密性、完整性和可用性造成严重影响。此类RCE漏洞危害极大,建议尽快升级到最新版本或采取临时缓解措施。
该漏洞的技术核心在于文件上传验证与存储逻辑的缺陷。在laravel-file-manager的文件上传功能中,系统对上传文件进行了客户端验证,但验证逻辑存在漏洞。具体表现为:当上传带有.php代码的.png文件时,客户端验证会显示上传失败,但服务器端实际上已经将文件保存到了指定目录。这是因为验证逻辑在检测到文件扩展名为.png时进行了某些检查,但并未阻止文件的实际写入操作。攻击流程如下:1) 攻击者首先上传包含PHP代码的.png文件(如:<?php system($_GET['cmd']); ?>),此时客户端显示验证失败但文件已保存;2) 攻击者调用重命名API将文件扩展名从.png改为.php;3) 攻击者通过Web访问该.php文件路径,服务器将文件作为PHP脚本解析执行;4) 攻击者可通过URL参数传递系统命令实现远程代码执行。由于攻击需要认证身份,但只需低权限账户即可,因此该漏洞具有较高的实际利用价值。