漏洞概述 本文档主要讨论了 WordPress File Upload 插件在修复 CVE-2024-9939 和 CVE-2024-11635 后引入的新远程代码执行(RCE)漏洞(CVE-2024-11613)。厂商试图通过读取临时文件来消除基于 cookie 的输入,但这引入了路径遍历和任意文件删除的风险。此外,尽管插件实施了严格的 MIME 类型检查,但攻击者可以通过构造包含有效 JSON 负载的“垃圾”文件(包含大量空白字符、制表符等)来绕过检查,从而上传 PHP 文件实现 RCE。 影响范围 插件名称: WordPress File Upload 受影响版本: 4.24.14 - 4.24.15 修复方案与技术细节 1. 厂商修复尝试: 厂商通过 函数从临时文件读取数据,试图替代之前的 cookie 输入机制。 2. 新漏洞点: 任意文件删除: 参数在 中未进行清理(sanitization),导致攻击者可以遍历目录删除任意文件。 MIME类型绕过: 虽然 钩子包含多重检查(DOS检查、文件名检查、PHP标签检查、文件大小检查),但最终的 函数仅接受默认白名单中的 MIME 类型( 不在其中)。 利用方法: 攻击者构造一个包含有效 JSON 负载的大文件,并在其中填充大量“垃圾”数据(如空格、制表符、换行符),伪装成 或 文件。由于 函数对格式宽容,该文件能被解析,从而绕过 MIME 类型检查并上传 PHP 负载。 关键代码块 1. PHP 漏洞代码片段 (wfu_read_downloader_data) 2. PHP 漏洞代码片段 (wfu_download_file) 3. PHP 漏洞代码片段 (wfu_update_download_status) 4. Python POC 代码 (create_large_junk_json_file)**