非 php.net · 非 NVD · 非 CISA

PHP 漏洞追踪

关于 PHP 安全漏洞的非官方简报

English简体中文日本語DeutschFrançaisNederlandsEspañol

安全警报

PHP2Shell:请升级 PHP。这是唯一完整的修复。

CVE-2026-109618 与 CVE-2026-109619 是 PHP 本体中的严重漏洞,未经身份验证即可远程执行代码。PHP 项目已于 2026 年 10 月 21 日为仍受支持的 8.2 至 8.5 分支发布修复。升级后必须重启 PHP。防火墙不能替代升级。

修复步骤

产品与技术栈 · Linux 发行版、软件源与 Windows

IIS on Windows 与 PHP2Shell:是否受影响、怎么修复

如何查看 IIS on Windows 用的 PHP 版本

按你的环境执行下面的命令。同分支内版本不低于 8.2.35、8.3.36、8.4.27 或 8.5.12 即已修复;更老的分支只有厂商明确说明的构建才算修复。

C:\PHP\php.exe -v
%windir%\system32\inetsrv\appcmd list config /section:system.webServer/fastCgi

命令行的 php 可能和实际服务网站的 PHP 不是同一个。要确认的话,检查 Web SAPI(放一个需要登录的临时 phpinfo() 页面,或看面板的 PHP 设置),用完删掉。本站的版本检查器可以帮你对比版本号。

如何修复 IIS on Windows 中的 PHP2Shell

  1. 从 windows.php.net 下载对应分支的 Non Thread Safe x64 压缩包(IIS FastCGI 用 NTS),以及匹配的 Visual C++ 运行库。
  2. 停止站点或应用程序池,替换 PHP 目录内容(保留 php.ini 和扩展),然后执行 iisreset,用 php -v 确认。
  3. 没有厂商构建时,自己动手的办法是用同分支的官方修复版替换自带的 PHP。保留旧目录和 php.ini 的备份。
  4. 重启 Web 服务器,再看一遍 Web SAPI 报告的版本。

想让 AI agent 帮你检查? 先检查是否受影响 · 用 AI Agent 修复

暂时无法打补丁时

常见问题

IIS on Windows 受 PHP2Shell 影响吗?

装上厂商的修复版之前,仍然受影响。 windows.php.net 已有四个分支的修复版。IIS 不会替你更新 PHP:IIS FastCGI 指向的每个 PHP 目录都要替换。多年前用 PHP Manager 或 Web Platform Installer 装的 PHP 会一直停留在当时的版本。

只更新 IIS on Windows 本身能修复 CVE-2026-109618 和 CVE-2026-109619 吗?

只有更新里包含修复版 PHP 才行。PHP2Shell 是 PHP 解释器的漏洞,关键是 IIS on Windows 运行在哪个 PHP 上。更新后请核对版本。

哪些 PHP 版本修复了 PHP2Shell?

2026 年 10 月 21 日发布的 PHP 8.2.35、8.3.36、8.4.27 和 8.5.12。PHP 8.1 及更早版本官方不发新版本,只有带反向移植的厂商构建(或自行用 7.4、8.0、8.1 源码补丁编译)才能修复。

IIS on Windows 还没有修复怎么办?

不要让它基于 PHP 的网页界面暴露在公网(用 VPN 或 IP 白名单),应用 PHP 的临时设置(如关闭 session upload progress),厂商一出更新就安装。临时设置能降低风险,但不是修复。

← 全部内置 PHP 的产品

另见:按平台修复 · 受影响版本 · 厂商状态

来源

出站链接将离开本站。本站不托管利用代码。

这是对公开资料的非官方整理。本站与厂商和 PHP 项目无关,不提供任何利用代码。