CVE-2026-24479HUSTOF是一款基于PHP/C++/MySQL/Linux开发的开源在线评测系统,用于ACM/ICPC和NOIP竞赛训练。该系统在26.01.24之前的版本中,problem_import_qduoj.php和problem_import_hoj.php模块存在严重的路径遍历漏洞。攻击者可构造包含路径遍历序列(如../../shell.php)的恶意ZIP压缩包,通过系统的题目导入功能上传该文件。当服务器解压ZIP文件时,未正确验证的文件名会被直接用于文件写入路径,导致攻击者可以在Web根目录的任意位置写入恶意文件,最终实现远程代码执行(RCE)。该漏洞无需认证即可利用,且CVSS评分高达9.8,属于极其严重的危急漏洞。建议受影响的用户立即升级到26.01.24或更高版本,并采取临时防护措施。
该漏洞存在于HUSTOF系统的题目导入模块中。系统提供problem_import_qduoj.php和problem_import_hoj.php两个接口用于导入ZIP格式的题目数据包。问题在于程序在解压ZIP文件时,直接使用了压缩包内文件条目的文件名进行文件写入操作,而未对文件名进行安全过滤和路径规范化处理。攻击者可以通过以下方式利用:1)构造包含路径遍历序列的恶意ZIP文件,文件名如../../../../var/www/html/shell.php;2)通过题目导入功能上传该ZIP文件;3)服务器解压时,由于未验证路径遍历字符,文件会被写入到web根目录的任意位置;4)攻击者访问写入的webshell即可执行任意系统命令。由于该漏洞位于文件解压逻辑中,且解压过程由服务器自动处理,因此攻击者可以在无需任何认证的情况下完成攻击链。修复方案需要在文件解压前对文件名进行规范化处理,移除所有路径遍历序列,并限制文件写入路径在指定目录内。