CVE-2025-66449ConvertX是一款自托管的在线文件转换器,其在0.16.0之前的版本中存在严重的任意文件写入漏洞。该漏洞位于/upload端点,攻击者(即使是低权限认证用户)可以利用此漏洞将任意文件写入服务器文件系统,包括覆盖系统二进制文件。由于上传功能直接使用用户提供的file.name参数而未进行任何安全清理,攻击者可以通过构造特殊的文件名来实现路径遍历或直接覆盖关键系统文件。一旦攻击者成功覆盖了系统二进制文件(如SSH、cron等),即可实现持久化的远程代码执行,获得服务器的完全控制权。该漏洞无需用户交互即可利用,CVSS评分高达8.8,属于高危漏洞。
漏洞根源在于ConvertX的文件上传处理逻辑存在缺陷。在src/pages/upload.tsx的第27-30行代码中,系统直接从HTTP请求中提取file.name参数,并将其作为文件名保存到磁盘,而没有进行任何输入验证或路径规范化。具体问题包括:1) 未验证文件名是否包含路径遍历字符(如../);2) 未对特殊字符进行过滤或转义;3) 未限制文件保存路径在指定目录内。攻击者可以通过上传名为../../../etc/cron.d/malicious的文件来覆盖系统定时任务,或上传同名文件覆盖系统二进制程序。当被覆盖的二进制文件被执行时,攻击者植入的恶意代码将以相应权限运行,从而实现代码执行。修复方案(commit 550f472451755d095cf5802bc91f403e85b7129e)应包含文件名白名单验证、路径规范化处理以及上传目录限制等措施。