结论
据宝塔 2026-10-22 公告,PHP 存在 CVE-2026-109618 与 CVE-2026-109619 高危漏洞(CVSS 9.8),可能导致未经身份验证的远程代码执行。受影响范围覆盖 PHP 7.0–8.5,请立即将各分支升级至 8.5.12、8.4.27、8.3.36、8.2.35、8.1.35、8.0.31、7.4.34 或 7.0.34–7.3.34 修复版本。
修复版本对照表
以下为各 PHP 分支的修复版本及获取渠道对照:
| PHP 分支 | 修复版本 | 修复渠道说明 |
|---|---|---|
| 8.5 | 8.5.12 | PHP 官方(Linux / Windows) |
| 8.4 | 8.4.27 | PHP 官方 |
| 8.3 | 8.3.36 | PHP 官方 |
| 8.2 | 8.2.35 | PHP 官方 |
| 8.1 | 8.1.35 | 宝塔 Linux 修复版(软件商店升级,应用了 PHP 官方回补补丁) |
| 8.0 | 8.0.31 | 宝塔 Linux 修复版(软件商店升级,应用了 PHP 官方回补补丁) |
| 7.4 | 7.4.34 | 宝塔 Linux 修复版(软件商店升级,应用了 PHP 官方回补补丁) |
| 7.3 | 7.3.34 | 宝塔自建补丁(命令安装,建议先测试) |
| 7.2 | 7.2.35 | 宝塔自建补丁(命令安装,建议先测试) |
| 7.1 | 7.1.34 | 宝塔自建补丁(命令安装,建议先测试) |
| 7.0 | 7.0.34 | 宝塔自建补丁(命令安装,建议先测试) |
其中 PHP 7.4、8.0、8.1 已停止 PHP 官方安全维护,7.0–7.3 官方不再提供补丁;各类防护措施都不能完整替代 PHP 补丁升级。
自查:你的服务器受影响吗
- 登录宝塔面板,进入「软件商店 → 已安装」,查看当前服务器已安装的各个 PHP 分支及具体小版本号。
- 如果服务器上存在多个 PHP 分支共存(例如同时安装了 PHP 7.4、8.1 与 8.2),需要逐一核对每个分支的小版本是否已达到上表的修复版本,切勿只检查某一个站点而遗漏后台仍在运行的旧版 PHP-FPM 进程。
- 对于 Windows 服务器环境:PHP 8.2 及以上分支可通过软件商店直接升级;Windows 下的 PHP 8.1 及更早版本目前需修改配置、禁用相关功能做临时缓解,并尽快迁移到受支持的分支。
先打补丁
据宝塔 2026-10-22 公告,安装本次 PHP 安全补丁无需先升级宝塔面板本身。在执行任何更新前,请先为关键站点与配置做好快照或备份。
- Linux 面板 PHP 7.4 及以上分支(7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5):
- 打开面板「软件商店 → 已安装」,先点击右上角「更新软件列表 / 支付状态」刷新最新补丁包信息。
- 找到对应 PHP 版本右侧的「更新」按钮执行升级。
- 更新完成后,确认对应的 PHP 服务已重启,并在站点 PHP 信息页或命令行核对实际生效的版本号已变为
7.4.34、8.0.31、8.1.35、8.2.35、8.3.36、8.4.27或8.5.12。
- Linux 面板 PHP 7.0–7.3 分支(宝塔自建补丁,建议先在测试环境验证):
- 执行命令期间会重启对应 PHP 服务,站点会有短暂不可用,请在业务低峰期于面板「终端」或 SSH 中按分支执行对应命令:
curl -fL -o php7_cve.sh https://download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 73
curl -fL -o php7_cve.sh https://download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 72
curl -fL -o php7_cve.sh https://download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 71
curl -fL -o php7_cve.sh https://download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 70无法立即升级时的缓解
若生产环境因业务兼容性评估暂时无法立即完成 PHP 版本升级,可配合宝塔面板以下安全组件降低暴露面。请注意:所有缓解手段均需在验证后尽快补齐 PHP 补丁。
安全中心 · 首页风险一键加固(企业版专享,Linux 面板 ≥ 13.1)
- 为什么:针对本次两个 CVE 风险项提供快速配置巡检与加固辅助(面板版本较低时可在首页右上角点「更新」升至 13.1 及以上)。
- 在哪里:「安全中心 → 安全概览」→「首页风险」→「查看」。
- 步骤:
- 进入「安全中心 → 安全概览」→「首页风险」→「查看」,打开「安全风险」窗口。
- 点「重新扫描」找到涉及两个 CVE 的 PHP 风险项。
- 点该项右侧「修复」(或只勾选该项后用「一键修复」,避免同时改动未核对的其他风险项)。
- 若提示先关闭系统加固,按提示临时关闭,修复完成后恢复。
- 在「结果确认」核对 PHP 版本、配置与结果。
- 验证:显示“修复成功”后重启结果中列出的每个 PHP 服务,重新扫描,并检查上传、登录功能;失败则检查对应
php.ini按风险详情手动处理。 - 局限:一键加固只能降低部分攻击路径的风险,不能完整修复这两项漏洞;扫描状态和修复结果也不能代替对 PHP 实际补丁版本的核对。
Nginx 防火墙(专业版、企业版,≥ 9.9.0)
- 为什么:在 HTTP 请求进入 PHP 进程处理之前,对畸形或超长参数等恶意探测流量进行前置过滤(需插件版本 ≥ 9.9.0)。
- 在哪里:「软件商店 → Nginx防火墙」。
- 步骤:
- 在「软件商店 → Nginx防火墙」首页开启「防火墙开关」。
- 在「站点配置」核对需保护的网站及规则状态。
- 检查「全局配置」与站点规则,确认正常登录、上传、接口请求可访问。
- 在「封锁历史」核对被拦截的站点、来源 IP、时间和原因。
- 验证:「攻击详情」里能看到命中的过滤规则(如“参数过长”)、请求地址和 HTTP 信息。
- 局限:WAF 用于拦截匹配规则的攻击请求,仍需配合 PHP 安全补丁(它在请求进入 PHP 处理前拦截恶意超长参数等)。
系统加固(专业版、企业版)
- 为什么:锁定关键系统目录、计划任务与服务配置,防止攻击者利用漏洞落地后篡改系统文件或植入持久化任务。
- 在哪里:「软件商店 → 系统加固」。
- 步骤:
- 在「软件商店 → 系统加固」打开「宝塔系统加固」,在「防护配置」开启顶部「宝塔系统加固」总开关。
- 配置并开启需要的加固项(关键目录、计划任务、用户 / 环境变量 / 服务、管理进程白名单)。
- 在「日志审计」「操作日志」确认是否有被拦截的操作及对正常业务的影响。
- 验证:在「日志审计」与「操作日志」确认规则生效且未拦截正常网站业务。
- 局限:加固规则可能影响软件安装、PHP 更新、账号变更和计划任务调整;维护时按需使用「临时开关」,完成后及时恢复防护。
堡塔防入侵(企业版专享)
- 为什么:限制 Web 运行账号(如
www)违规拉起异常子进程或执行高危系统命令。 - 在哪里:「软件商店 → 堡塔防入侵」。
- 步骤:
- 在「软件商店 → 堡塔防入侵」的「概览」开启顶部「防入侵开关」。
- 核对 PHP 网站实际运行账号,重点看
www用户的「防入侵」状态为「已开启」。 - 开启所需命令日志,通过「命令日志」「操作日志」查看异常命令与拦截记录。
- 验证:确认
www用户的「防入侵」状态为「已开启」,并在「命令日志」「操作日志」核对记录。 - 局限:仅开启命令日志只记录操作,不能代替开启防入侵;使用自定义网站运行账号时需核对插件对该账号的支持;仍需配合 PHP 补丁与系统安全更新。
PHP 网站安全告警(企业版专享)
- 为什么:对 PHP 运行时的异常行为、可疑文件包含与木马触发动作进行实时监控与通知。
- 在哪里:「安全中心 → PHP网站安全」。
- 步骤:
- 进入「安全中心 → PHP网站安全」→「PHP网站安全告警」,在首页开启「监控开关」。
- 在「网站管理」核对需保护的网站,在「PHP模块」检查对应 PHP 版本的模块状态。
- 在「告警设置」配置通知方式与接收信息。
- 回到首页查看风险列表中的网站、来源 IP、触发时间和检测类型。
- 验证:在「PHP模块」确认对应 PHP 版本模块已开启,并核对首页风险列表状态。
- 局限:没有产生告警,不代表 PHP 漏洞已经修复;补丁版本、模块状态和告警记录需分别核对。
升级后检查清单
- [ ] 所有已安装的 PHP 分支(含未绑定主站但仍启动的 PHP-FPM 实例)均已升级到对应修复版本
- [ ] 升级或执行
php7_cve.sh脚本后,对应 PHP 服务已完成重启且版本号核对无误 - [ ] 临时关闭过的「系统加固」开关已在维护结束后重新开启
- [ ] 网站前台访问、后台登录、文件上传及核心 API 接口均已抽查确认正常
常见问题
1. 安装本次 PHP 补丁前必须先把宝塔面板升到最新版吗?
不需要。直接通过「软件商店 → 已安装」刷新软件列表后更新对应 PHP 分支,或对 7.0–7.3 执行补丁脚本即可;仅在使用「安全中心 · 首页风险一键加固」时要求 Linux 面板 ≥ 13.1。
2. 已经开启了 Nginx 防火墙(≥ 9.9.0),还需要升级 PHP 吗?
需要。Nginx 防火墙等插件用于前置拦截匹配规则的请求并降低暴露风险,不能替代 PHP 本身的安全补丁。
来源
- 宝塔面板关于 PHP CVE-2026-109618 / CVE-2026-109619 安全风险与补丁说明
- PHP 官方分支发布记录
- 最后核对时间:2026-10-22