目录
请通过紧急更新 PHP 来应对已报告的“php2shell”漏洞。仅更新 WordPress 无法修复这些漏洞。所引用的报告没有依据支持“23:15 开始遭到入侵”这一统一时间点,而对单台服务器的日志调查,也无法判断其他环境是否遭到了攻击。
要点#
- 报告将 CVE-2026-109618 和 CVE-2026-109619 列为可能导致未经身份验证的远程代码执行的 PHP 漏洞。
- PHP 可能在应用程序代码运行前处理请求数据,因此即使没有公开的上传表单,也可能受到影响。
- 报告称,这些漏洞已在 PHP 8.2.35、8.3.36、8.4.27、8.5.12 中修复。请对照 PHP 或托管服务商的安全公告,核查已安装的软件包。
- 作者未在一台 VPS 上发现明显的流量变化,但这并不能说明服务器安全,也不能说明漏洞未被利用。
需要修复什么#
受影响的是支撑 WordPress 及其插件、主题运行的 PHP 本身。即使 WordPress 后台显示所有组件均为最新版本,也不代表底层 PHP 已应用安全修复。
根据秋山大志 10 月 21 日的报告,这两个漏洞涉及请求处理期间及相关后续清理过程中的内存操作。报告所述的影响是远程代码执行,而非单纯的内存泄漏。实际是否受影响,取决于 PHP 的构建方式、配置和运行环境。
不要以为删除上传表单就能解决问题。攻击者可以直接发送请求,而 PHP 可能在 WordPress 检查身份验证或执行自身代码之前,就解析请求正文。
倒计时为何站不住脚#
根据报告,PHP 网站仓库于10 月 21 日 21:59(日本时间)发布了版本公告和安全公告,早于原定的 23:00。据称,技术细节于 22:34 在 GitHub 上公开。这些只是报告记载的公开时间,不应被视为所有下载渠道均已同步更新的证据。
“15 分钟”的说法源于 Sansec 对大规模攻击可能多快开始的预测。在反复传播中,它变成了入侵开始的确切时限。此外,报告还提到,补丁发布前已有信息流传,因此攻击者未必是在公开时才开始着手。
AI 有助于分析变更内容,但这本身不能证明有人在 15 分钟内编写出了可运行的攻击代码。理解缺陷与在不同服务器配置下可靠地利用缺陷,是两项不同的工作。管理员应缩短完成更新所需的时间,而不是按照缺乏依据的倒计时安排应对措施。
更新运行网站的 PHP#
请确认处理 Web 请求的 PHP 运行环境。在安装了多个 PHP 版本的服务器上,仅通过命令行检查版本可能会造成误判。
1. 通过托管控制面板或仅供管理员使用的诊断功能,确认网站的 PHP 版本和运行方式。 2. 对照 PHP 安全公告及供应商的安全通知,核查已安装的软件包。供应商可能会回移修复,而不采用上游版本号。 3. 安装相应的安全更新,并按照服务商的指示,重新加载相关服务的配置或重启服务。 4. 随后,检查正在运行的 Web 运行环境,并测试登录、发布内容以及网站使用的支付和上传功能。
报告将已证实可实现远程代码执行的 Apache mod_php 列为风险最高的配置。PHP-FPM 的部分利用条件有所不同,但报告也描述了在特定应用条件下可能成立的利用路径。因此,仅凭“正在使用 FPM”并不足以成为推迟更新的理由。
旧版 PHP 需要迁移计划#
对于 PHP 8.1 及更早版本,报告称上游尚未提供带版本号的安全更新版本。报告说明,7.4、8.0、8.1 有限量的源码修复回移,发行版或商业供应商也可能提供修复。源码补丁仅仅存在并不能提供保护,还需要构建、部署和验证。
进行大版本升级时,请先在网站副本上测试。将 WordPress、插件和主题更新至兼容目标 PHP 版本的版本,测试关键操作并检查错误日志。更换 PHP 主版本后,旧扩展或自定义代码可能无法运行。
根据报告,PHP 8.2 的安全支持将于 2026 年 12 月 31 日结束。截至 10 月 22 日,留给迁移的时间已经不多。请优先选择兼容且支持周期更长的版本系列,并在选择前确认支持截止日期。临时配置变更只能视为部分缓解措施,不能当作安全的证明。
VPS 日志能说明什么#
秋山报告称,在校正约 14 分 40 秒的时钟偏差后,他调查了一台使用 Apache 和 PHP-FPM 的 VPS 在日本时间 21:59 至 22:55 期间的情况。日志记录了 13 次针对 PHP 相关 URL 的探测请求、41 次发往 PHP 路径的 POST 请求,未记录到 PHP-FPM 异常退出或内存不足错误。
这一观察只能得出有限的结论:在能够查看的日志中,该时段未出现明显激增。它既不能证实入侵的开始时间,也不能证明没有发生漏洞利用。常规访问日志通常不包含请求正文,一台 FPM 服务器也无法代表其他环境。
时钟偏差同样重要。要关联请求、错误和安全事件,需要准确的时间戳。请校准时间同步,保存相关日志,不要把没有崩溃当作无需打补丁的依据。
下一步行动#
请在今天之内,根据托管服务商的通知或操作系统供应商的安全公告,确认运行生产网站的 PHP 环境是否已安装安全更新。
来源: https://blogs.itmedia.co.jp/agile/2026/10/php2shell_cve_2026_109618_panic.html
目录
