PHP 两个高危漏洞为何波及 WordPress:站长和普通用户该怎么做
这次事件影响的不是某个 WordPress 插件,而是许多网站运行所依赖的 PHP 本身。PHP 是一种服务器端编程语言:网站收到访问请求后,服务器会运行 PHP 代码,生成网页、处理表单,并与数据库交互。WordPress 以及大量基于它搭建的网站都依赖 PHP,因此问题的影响范围可能超出某个网站程序,延伸到运行 PHP 的服务器环境。
PHP 项目披露的两个漏洞允许攻击者在无需管理员账号或密码的情况下远程执行代码,也就是让服务器运行攻击者指定的程序。成功利用后,攻击者可能篡改网站内容、读取站点保存的数据,甚至取得服务器的完整控制权。对使用 WordPress 的站长而言,首先要确认的不是 WordPress 是否更新,而是网站所在服务器运行的 PHP 是否已经获得修复。
这两个 PHP 漏洞是什么
目前涉及的漏洞分别为 CVE-2026-109618(GHSA-w8hw-w9fx-j79w)和 CVE-2026-109619(GHSA-6wmf-4rv5-p3rp)。CVE 是用于标识公开安全漏洞的编号,GHSA 则是 GitHub Security Advisory 使用的安全公告编号;它们指向的是同一组漏洞的不同编号体系。
- CVE-2026-109618:通过内存不足处理实现远程代码执行。 PHP 在处理内存不足(OOM,out of memory)情况时,可能在请求相关的内部数据尚未完整初始化前就中断处理。随后,清理请求数据的流程可能把无效数据当成有效数据使用。
- CVE-2026-109619:通过残留的全局状态实现远程代码执行。 某次请求使用的内部状态在对应内存已经释放后仍可能残留。之后由同一个工作进程处理的新请求,可能在正常初始化完成前使用这部分过期状态。
这些描述涉及 PHP 内部的内存和请求处理机制,普通站长不需要自行分析底层代码才能判断风险。真正重要的结论是:PHP 项目将其归为无需身份验证的远程代码执行问题,运行 PHP 的网站都应把它视为服务器端风险,而不是单纯的网页显示错误。
为什么影响范围这么大
W3Techs 的统计显示,在能够识别服务器端编程语言的网站中,约 69.3% 使用 PHP。VirusTotal 的扫描数据目前还登记了约 380 万个至少开放一个端口、正在运行 PHP 的网站。不同统计口径并不等于这些网站都会同时受到攻击,但它们说明 PHP 并不是少数开发者才会接触的组件。
WordPress 是最容易被普通网站管理员联想到的例子,但受影响对象并不只限于 WordPress。任何使用 PHP 处理请求的站点都可能需要处理这次更新,包括自建网站、虚拟主机上的网站,以及由主机商代为维护的 PHP 环境。
漏洞利用成功后,风险可能包括读取密码、API 密钥、加密证书和数据库中的敏感信息,也可能把已经被控制的服务器作为攻击其他目标的跳板。Cloudflare 的首席技术官表示,当时已经观察到早期攻击活动。荷兰和芬兰的一些政府机构曾出于预防目的下线网站,NSA 的网络安全账号和英国国家网络安全中心也建议,在无法立即更新时考虑让相关系统离线。Pokémon Home 和 Pokémon Champions 也曾被报道暂时下线。
为什么这个漏洞现在才成为重大问题
漏洞大约已经存在于 PHP 中 20 年。PHP 基金会表示,针对其中一个问题的利用方式在 2024 年已经有人提出过理论推测,但当时没有找到具体可行的攻击路径,其他影响更明确的问题也分散了注意力。
这并不意味着漏洞过去没有风险,而是过去要把它转化为实际攻击,需要一连串极其复杂的操作,已经接近人类研究人员在实践中能够完成的上限。OpenAI 旗下安全研究团队 Calif 使用 GPT-5.6 Sol 发现了一个关键 PHP 缺陷;Google 旗下安全公司 Wiz 也独立使用 AI 发现并报告了这些漏洞。相关材料指出,更强大的 AI 模型降低了分析这类复杂内存问题和构造利用方式的门槛。
因此,漏洞存在多年与现在风险突然上升并不矛盾:过去可能很难利用,不代表公开披露后仍然难以利用。对防守方来说,补丁是否已经部署比判断漏洞究竟存在了多久更重要。
普通网站访问者需要做什么
这个问题主要影响运行 PHP 的服务器,并不意味着访问者的电脑会因为打开一个 PHP 网站就自动受到同样的漏洞影响。普通用户能做的事情有限,但被攻陷的网站可能被用来传播恶意软件,或窃取访问者的其他数据。
如果某个经常使用的网站或在线服务发布了维护、下线或安全更新通知,访问前应先查看其官方网站或社交账号上的说明。不要把“网页还能打开”理解为服务器一定没有风险,也不要把这次漏洞与 WordPress 管理员账号泄露混为一谈:漏洞利用本身不需要管理员登录。
站长先确认网站是否运行 PHP
如果网站使用 Squarespace、Wix 等不提供 PHP 运行环境的平台,通常不属于这类 PHP 服务器端风险。使用虚拟主机、云服务器、自建服务器,或自行维护 WordPress 的站点,则应登录主机控制面板查看 PHP 版本和运行环境;无法确认时,直接向主机商询问网站是否运行 PHP,以及对应 PHP 服务是否已经部署本次漏洞的修复。
这里需要区分两个版本:WordPress 版本和 PHP 版本。更新 WordPress、主题或插件,并不能替代更新 PHP,因为本次问题位于 PHP 运行环境。即使网站表面上只是一个简单博客,只要服务器使用 PHP,也不能仅凭网站规模判断风险很低。
如何处理更新和暂时无法修复的环境
- 确认主机商的修复状态。 使用托管 WordPress 或虚拟主机的站长,应询问服务商何时部署包含 CVE-2026-109618 和 CVE-2026-109619 修复的 PHP 版本。GoDaddy 的建议是,使用 PHP 的网站应假定受到影响,并尽快更新到修复版本;Hostinger、GoDaddy、Bluehost 等主机服务的客户也应主动查看各自的安全通知。
- 不要继续依赖已经停止支持的旧版本。 PHP 8.1 或更早版本已经停止支持,不会获得针对本次问题的官方修复。运行这些版本的站点不能只是等待补丁,而应迁移到主机商仍支持的新版本。切换前应确认网站的主题和插件能够在目标 PHP 版本上运行。
- 无法立即更新时降低暴露面。 如果主机商尚未提供修复,先联系其技术支持确认部署时间。对于电商、会员服务,或保存敏感数据的站点,在无法立即完成更新且风险无法接受时,应暂时关闭网站或限制外部访问,直到修复版本可用。
- 更新后确认实际运行环境已经变化。 通过主机控制面板或服务商提供的版本信息确认 PHP 已切换到受支持、包含修复的版本,并检查首页、后台和主要业务功能是否能够正常工作。若站点仍出现异常,应继续向主机商确认实际提供请求处理的 PHP 服务是否已完成更新,而不是只检查 WordPress 自身的版本。
漏洞存在不等于网站已经被入侵,但此次问题的严重性在于,攻击者一旦成功利用,影响可能从修改页面扩大到服务器凭据、数据库和其他敏感数据。发现陌生管理员账号、异常页面内容或其他明显异常时,不应只修改 WordPress 密码;应立即联系主机商或安全团队,并在确认服务器状态前避免继续对外提供服务。
对大多数站长来说,最关键的判断顺序是:网站是否运行 PHP,当前 PHP 是否仍受支持,主机商是否已经部署包含这两个漏洞修复的版本。如果答案无法确认,就应把确认补丁状态作为优先事项,而不是仅凭网站还能访问来判断风险已经消失。
原始来源: https://www.theverge.com/tech/1015906/php2shell-vulnerability-october-2026