CVE-2026-65640:WordPress 7.0.4修复Imagick+Ghostscript上传RCE

2026年8月12日,WordPress 安全团队发布 7.0.4 安全更新,修复一处影响近 10 年发布历史的高严重度远程代码执行漏洞 CVE-2026-65640 / GHSA-8vr3-7mxf-gx8w,CVSS 评分 8.8。该漏洞由 pwn.ai 安全团队负责任披露,由 Imagick+Ghostscript 链路校验缺陷导致,拥有 Author 级别以上权限的攻击者可通过上传一张“看起来像 PNG”的文件,在服务器上执行任意代码。

事件概述

该缺陷位于 WP_Image_Editor_Imagick::load() 方法。WordPress 历史上依赖文件扩展名和 MIME 类型判断上传文件类型,而 ImageMagick 则通过文件内容(魔数)真实识别格式。当二者信任关系出现错位时:攻击者将包含 PostScript 指令的“伪图像”重命名为 .png 上传,WordPress 仅凭扩展名放行,ImageMagick 读取真实字节后识别为 PostScript 并委托给 Ghostscript 解释执行,Ghostscript 历史上有大量允许嵌入命令执行的设计缺陷,最终实现 PHP worker 进程身份下的任意命令执行。补丁已回移植到 4.7 至 7.0.x 全部受支持分支。

技术细节

三组件信任错位

  • WordPress 验证:依据扩展名/客户端声明 MIME 类型;
  • ImageMagick 验证:基于内容前若干字节(魔数)真实识别;
  • Ghostscript 解释:收到 PostScript/EPS/PDF 后直接执行嵌入指令。

三组件对“文件类型”理解不一致,使 PostScript 载荷能跨越所有边界。漏洞本质是 2016 年 ImageTragick 漏洞家族在新场景下的回归,反映出图像处理管道与文件类型验证体系长期存在的结构性脆弱。

两条绕过上传校验的隐藏路径

标准 Media Library 上传流程会通过 wp_check_filetype_and_ext() 校验内容,存在拦截。Patchstack 安全团队指出,XML-RPC 的 wp.uploadFile 方法MP3 文件封面自动提取这两条路径绕过了该校验,使用更底层的写入函数直接落盘,导致 PostScript 载荷直达漏洞解码器。XML-RPC 在 WordPress 中默认开启,远程接口无需登录后台即可访问,正是这一“边门”将理论缺陷转化为可武器化路径。

影响评估

该漏洞具备真实攻击价值,原因有三:

  1. Author 级别权限门槛易获取:多作者站点、会员社区、客座博客网络、外包编辑账号等场景中,Author 账户普遍存在且常因人员流动而失于审计;
  2. 凭据填充攻击普遍:WordPress 登录端点的密码撞库是最高频自动化攻击模式之一,Author 级别账户的弱口令暴露面广;
  3. 回溯至 4.7 版本跨度近 10 年:所有未打补丁站点均受影响,攻击者可依赖稳定、易理解的利用工具链。

需要强调的是,漏洞利用需要服务器同时启用 Imagick PHP 扩展和 Ghostscript 二进制;仅使用 GD 图像库的站点不受此路径影响,但安全团队仍建议同步打补丁,避免堆栈配置变更后被重新利用。

修复建议

立即行动

  1. 登录 WordPress 后台 → Dashboard → Updates 升级至 7.0.4;
  2. 对 6.9.x/6.8.x 等旧分支安装对应小版本(6.9.7/6.8.8 等);
  3. 4.6 及以下版本已不再受官方支持,需评估整站升级或下线迁移。

纵深加固