Windows Server 下 XAMPP 环境 PHP 高危严重漏洞修复升级指南

针对 CVE-2026-109618 / CVE-2026-109619 严重级远程代码执行漏洞,特别是wordpress网站,必须马上升级为官方安全修复版本。

一、漏洞概述与版本影响判断

2026 年 10 月 21 日 PHP 官方发布紧急安全公告,修复两个 严重级未授权远程代码执行漏洞,CVSS v4.0 评分高达 9.2。攻击者无需任何身份认证,发送特制请求即可直接在服务器上执行代码,风险极高。

1.1 受影响版本范围

  • PHP 8.5 分支:8.5.12 之前的所有版本
  • PHP 8.4 分支:8.4.27 之前的所有版本
  • PHP 8.3 分支:8.3.36 之前的所有版本
  • PHP 8.2 分支:8.2.35 之前的所有版本

PHP 8.3.33 属于明确受影响版本,必须立即处理。

1.2 高风险运行场景

所有对外提供 Web 服务的 PHP 运行模式均受影响,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed 等。其中:

  • Apache mod_php(apache2handler)模式风险最高:攻击可在 WordPress 等应用代码执行前触发,几乎无前置拦截条件。
  • XAMPP 默认采用 mod_php 模式,属于本次漏洞的高危场景,需优先处置。

二、优先方案:升级 PHP 到 8.3.36(唯一彻底解决方案)

PHP 官方明确声明:不存在完整的缓解方案,升级到安全版本是唯一安全选择。以下为 Windows Server + XAMPP 环境下的详细升级操作步骤。

2.1 前置准备

从 PHP 官方下载页获取 PHP 8.3.36 Thread Safe (TS) x64 压缩包。

注意:必须选择线程安全(TS)版本,才能与 XAMPP 的 Apache mod_php 模式兼容,NTS 版本无法正常加载。

2.2 详细替换步骤

  1. 打开 XAMPP Control Panel,点击 Apache 对应的 Stop 按钮,停止 Apache 服务。
  2. 备份原有 PHP 目录:进入 C:\xampp\,将 php 文件夹重命名为 php_8.3.33_backup,作为故障回滚备份。
  3. 将下载的 PHP 8.3.36 TS 压缩包解压,将解压后的文件夹重命名为 php,放置到 C:\xampp\ 目录下。
  4. 从备份目录 C:\xampp\php_8.3.33_backup\ 中复制 php.ini 文件,粘贴到新的 C:\xampp\php\ 目录中,覆盖默认配置,保留原有扩展与参数设置。
  5. 回到 XAMPP 控制面板,点击 Apache 对应的 Start 按钮,启动 Apache 服务。
  6. 验证升级结果:进入 WordPress 后台系统信息页面,或通过 phpinfo() 查看,确认 PHP 版本已更新为 8.3.36。

2.3 常见问题处理

若启动 Apache 时报错,大概率为第三方 PHP 扩展版本不兼容:

  • 可从备份的旧版本 php 目录中,将对应扩展 dll 文件复制到新版本的 ext 目录;
  • 暂时注释掉 php.ini 中非核心的扩展加载行,逐一排查定位问题。

三、临时缓解措施(升级前紧急防护,不能替代升级)

若暂时无法立即完成升级,可通过以下配置降低攻击暴露面,但 无法彻底封堵漏洞,仍需尽快完成版本升级。

3.1 php.ini 配置修改

配置文件路径:C:\xampp\php\php.ini,修改完成后重启 Apache 生效。

针对 CVE-2026-109618(OOM 内存损坏 RCE)

  • 关闭 PHP 内存限制,消除可控的内存溢出触发点:
    memory_limit = -1
  • 限制 POST 提交大小,按实际业务需求设置为较小值(值越小风险越低):
    post_max_size = 32M
    upload_max_filesize = 20M

    无需文件上传的站点可设置为 post_max_size = 8M,需保证 upload_max_filesize 小于 post_max_size。

针对 CVE-2026-109619(全局状态残留 RCE)

  • 关闭上传进度会话功能,封堵已确认的攻击路径:
    session.upload_progress.enabled = 0

    注意:必须在 php.ini 中修改,不能通过 ini_set() 或 .user.ini 设置,否则不生效。

3.2 Apache 层强制加固

为防止 WordPress 或插件通过 ini_set 覆盖内存限制配置,可在 Apache 配置中锁定参数。

打开配置文件:C:\xampp\apache\conf\extra\httpd-xampp.conf,在 PHP 相关配置段添加:

php_admin_value memory_limit -1

修改完成后重启 Apache 服务生效。

四、其他常见环境升级方式参考

4.1 面板类环境(宝塔、AppNode 等)

在软件商店的 PHP 管理界面中,直接选择对应分支升级到最新版本即可,面板通常会同步官方安全更新。

4.2 Linux 发行版原生包管理器

官方已提前向各发行版和 LTS 厂商同步补丁,执行系统更新即可:

  • Debian / Ubuntu:
    apt update && apt upgrade php*
  • CentOS / RHEL:
    yum update php*
    # 或
    dnf update php*

注意:第三方 rpms.remirepo.net 源不会当日同步更新,若使用该源建议临时切换为发行版官方源,或从 PHP 官网下载源码编译。

4.3 编译安装环境

从 PHP 官网下载对应安全版本源码包,按照原有编译参数重新编译替换即可。

PHP 8.3.36 Thread Safe (TS) x64 官方下载

官方下载页: https://windows.php.net/download
直链(官方 windows.php.net 发布目录):
版本TS x64
载地址: https://windows.php.net/downloads/releases/php-8.3.36-Win32-vs16-x64.zip
版本NTS x64
载地址: https://windows.php.net/downloads/releases/php-8.3.36-nts-Win32-vs16-x64.zip
版本TS TS x86
载地址: https://windows.php.net/downloads/releases/php-8.3.36-Win32-vs16-x86.zip

五、WordPress 站点额外注意事项

  1. 升级 PHP 前请先完整备份站点文件与数据库,8.3 分支小版本升级兼容性良好,备份可规避意外风险。
  2. 升级完成后,可通过 WordPress 后台「工具 - 站点健康」页面,或系统信息插件,确认 PHP 版本已更新。
  3. 若使用虚拟主机 / 共享主机,无需自行操作,请直接联系主机服务商确认是否已完成 PHP 安全补丁更新。
  4. 排查站点中可被攻击者触发的致命错误、执行超时逻辑,尤其是上传、导入、回调和清理相关功能。

六、重要提醒

  • 本次漏洞严重等级为高危,存在可被利用的攻击路径,建议尽快完成升级,全程操作约 10 分钟。
  • 所有临时缓解措施仅能降低风险,无法完全封堵漏洞,升级到官方安全版本是唯一彻底解决方案。
  • PHP 8.2 将于 2026 年 12 月 31 日停止维护,建议提前规划版本升级。
  • vs16 表示用 VS2019 编译,运行前需安装 Visual C++ Redistributable(x64),否则会报 VCRUNTIME140.dll 丢失。
  • TS 只在你确实需要线程安全时才用,典型场景是 Apache mod_php 或 IIS;如果你走 Nginx/Apache + FastCGI(PHP-FPM 类),应该下载 NTS​ 版本,混用会导致扩展加载失败。扩展 DLL 必须与主程序 TS/NTS 严格匹配。
  • 8.3.36 是 2026-10-21 发布的紧急安全版本,修复 CVE-2026-109618 与 CVE-2026-109619 两个 CVSS 9.2 的未授权远程代码执行漏洞,官方明确表示没有可替代升级的完整缓解措施。8.3 分支目前仅接收安全修复,计划 2027-12-31 EOL。

分享到:

用微信扫一扫,分享给朋友


发布日期:

所属分类: 编程语言 标签:



下一篇:

没有了,已经是最新文章