Ghostscript 解释和渲染引擎中的一个严重漏洞可能允许攻击者在处理特制 PDF 文件的服务器上执行远程代码。该漏洞编号为 CVE-2026-39919,其利用了处理低位深度采样的 JPEG 2000 图像以及组件分辨率差异时发生的堆内存越界。
Defiant 旗下 Wordfence 平台的研究人员于 8 月 23 日通过 AI 驱动的 Argus 系统发现了该缺陷。根据测试结果,恶意文件可迫使 Ghostscript 向一个容量不超过 256 字节的缓冲区写入 1,024 字节,从而破坏内存,并在特定条件下为未经身份验证的远程代码执行打开理论上的通道。
该缺陷与 WordPress 网站有何关系?
WordPress 可以使用 PHP Imagick 插件,在创建 PDF 文件的预览或缩略图时调用 ImageMagick,而 ImageMagick 则依靠 Ghostscript 执行渲染过程。因此,如果攻击者能够上传文件,且系统通过受影响的软件链自动处理该文件,上传 PDF 文件可能成为攻击入口。
Wordfence 确定了在 WordPress 环境中成功利用漏洞的四个主要条件:允许攻击者上传 PDF 文件;处理该文件以创建预览;处理链能够访问 Ghostscript,且相关策略允许渲染 PDF;以及使用未修复版本的引擎。该机构指出,WordPress 的默认设置不允许匿名上传到媒体库。
受影响范围与测试结果
受影响范围涵盖 Ghostscript 9.21 至 10.07.1 版本,并不局限于 WordPress;任何通过受影响版本渲染用户控制的 PDF 文件的应用都可能面临风险。研究人员测试了包括 Debian、Ubuntu、Fedora、Alpine 和 AlmaLinux 在内的 Linux 环境,以及官方 WordPress Docker 镜像,发现所有环境都包含受影响的代码。
两次概念验证尝试在实验室环境中针对 Linux 软件包进行的 10,240 次尝试中,均未能实现远程代码执行,但研究人员在一台专门配置用于测试的服务器上成功执行了代码。此外,漏洞利用是否成功还取决于字体修改、语言设置、字体配置以及一个基础系统库,代码执行并不总是可靠。
运营者应采取哪些措施?
Artifex 于 9 月 8 日在 Ghostscript 10.08.0 中发布了修复,同时也将修复移植到较早版本。WordPress 管理员应确认托管服务提供商使用的是 10.08.0 或更高版本,并重新构建和部署依赖旧基础镜像的 Docker 镜像。
如果无法更新,相关指南建议禁止向服务器上传 PDF 文件,或在 ImageMagick 中禁用 PDF 渲染。截至报告编写时,Wordfence 表示尚未发现该漏洞在真实攻击中遭到利用。
为什么这条消息很重要?
该缺陷之所以重要,是因为看似只是内容输入而非程序的 PDF 文件,可能会传递给一个拥有服务器处理权限的原生组件。漏洞存在并不意味着每个 WordPress 网站都会自动变得容易遭到入侵,因为风险取决于上传和处理路径、策略设置以及所使用的版本;但这些条件意味着,更新 Ghostscript,以及在无法更新时禁用相关处理路径,是直接缩小攻击面的两项措施。