CVE-2025-51661CVE-2025-51661是FileCodeBox v2.2及更早版本中的一个高危路径遍历漏洞。该漏洞存在于文件存储模块core/storage.py的SystemFileStorage.save_file方法中,攻击者可以通过构造特殊的路径遍历序列(如../)来突破应用程序的目录限制,将文件写入服务器上的任意位置。漏洞的利用无需任何认证,远程攻击者可以直接通过/share/file/上传端点发送恶意构造的POST请求即可实现任意文件写入。此漏洞可能导致严重的系统安全问题,包括但不限于:覆盖系统配置文件、写入恶意脚本或后门程序、修改应用程序代码等。由于该漏洞利用简单且影响范围广,建议受影响的用户立即采取修复措施。
漏洞根源在于FileCodeBox的SystemFileStorage.save_file方法在处理用户上传的文件名时,直接使用用户输入的文件名构造保存路径,而没有对文件名进行安全验证。攻击者可以通过在文件名中嵌入路径遍历序列(如../../../etc/cron.d/malicious)来逃离预定的上传目录。漏洞利用过程如下:首先攻击者构造一个包含路径遍历序列的文件名,例如使用'../test.txt'或'../../../var/www/html/shell.php'作为文件名;然后向/share/file/上传端点发送POST请求,将恶意文件名作为filename参数;服务器端接收到请求后,直接使用用户提供的文件名构造save_path,调用文件保存逻辑将文件写入攻击者指定的位置。由于上传端点不需要任何认证,攻击者可以无限制地利用此漏洞进行任意文件写入操作,成功利用后可导致远程代码执行等严重后果。