关键漏洞信息 漏洞概述 名称: Arbitrary File Write (Zip Slip) in Problem Import Modules leads to RCE Critical: Yes 发布公告日期: 上周 CVE ID: CVE-2026-24479 Weaknesses: CWE-22 影响的软件包 Package: zhblue/hustoj (Composer) Affected Versions: All versions Patched Versions: None 漏洞描述 Summary: problem_import_qduoj.php 和 problem_import_hoj.php 模块未能正确清理上传 ZIP 归档文件中的文件名。攻击者可以制作一个恶意的 ZIP 文件,其中包含带有路径遍历序列的文件(例如,../shell.php)。当服务器提取这些文件时,允许在 Web 根目录中的任意位置写入文件,导致远程代码执行 (RCE)。 受影响文件 Affected Files: - trunk/web/admin/problem_import_qduoj.php - trunk/web/admin/problem_import_hoj.php 技术细节与漏洞代码 Details: 以 problem_import_qduoj.php 为例,代码直接拼接了来自 ZIP 条目的文件名,而没有进行过滤 ./:。 PoC: - 准备一个名为 shell.php 的文件。 - 使用脚本或工具创建一个文件名为 ../../var/www/html/shell.php(根据需要调整深度)的 ZIP 文件。 - 通过管理面板上传这个 ZIP 文件。 - 文件将被写入到 Web 根目录而不是上传目录。访问 http://target-ip/shell.php 触发 RCE。