一句话导读:2026 年 10 月 20 日,PHP 两个核心远程代码执行(RCE)漏洞 CVE-2026-109618 与 CVE-2026-109619 的细节提前泄露,PHP 官方把紧急安全版本提前到 10 月 21 日 22:00(北京时间)发布。所有跑 PHP 的网站——尤其是 WordPress——都应该在补丁发布后第一时间升级。本文以 1Panel 面板为例,给出从自查到升级再到验证的完整流程。
一、发生了什么(30 秒版)
- 两个漏洞:CVE-2026-109618、CVE-2026-109619,都是 PHP 核心层的远程代码执行。PHP 安全团队官方评级 CVSS v4.0 9.2(独立研究员 watchTowr 评 10.0),并确认已成功复现其中之一。
- 为什么这么急:漏洞细节按计划本该在协调披露日(周四)才公开,结果提前泄露到了网上。攻击者可能抢在管理员打补丁之前动手——这种「细节先泄露」的剧本,历来都会把攻击窗口压缩到以小时计。
- 影响范围:官方尚未公布完整受影响清单,研究员称 PHP 5.x 到 8.x 都可能受影响,官方补丁预计只覆盖仍在支持期内的 8.x 分支。截至 10 月 20 日,尚未观察到在野利用。
- 补丁时间:北京时间 10 月 21 日 22:00(14:00 UTC)。研究圈里这组漏洞的代号是 “php2shell”——一个请求直接拿下服务器 shell 的意思。
二、先自查:我的网站中招没有(30 秒)
任选一种方式查你的 PHP 版本:
- 命令行(推荐):
curl -sI https://你的域名/ | grep -i x-powered-by,看到X-Powered-By: PHP/8.3.35这样的输出就是版本号。 - 浏览器:F12 打开开发者工具 → 网络(Network)→ 刷新页面 → 点第一个请求 → 响应头里找
X-Powered-By。 - WordPress 用户:后台「工具 → 站点健康 → 信息 → 服务器」里直接看 PHP 版本。
判读:版本号在 8.3.x、8.4.x、8.5.x 等支持期内 → 等 22:00 补丁发布后升到对应分支的最新补丁版(如 8.3.35 → 8.3.36);版本是 8.2 或更老 → 除了今晚的补丁,还要认真考虑迁移(8.2 将于 2026 年 12 月 31 日停止安全支持)。
三、为什么是「今晚升」而不是「现在折腾」
补丁没发布之前,任何「缓解措施」都只是聊胜于无:这是 PHP 解释器核心层的漏洞,WordPress 层面的登录加固、限流、WAF 规则都挡不住它。正确姿势就一句话——把窗口期缩到最短:补丁一出就升,升级本身只要几分钟。
以本站为例:实测 PHP 8.3.35(8.3 分支当前最新版,9 月 24 日发布),也就是说补丁发布前确实无版可升,唯一能做的就是守着 22:00。
四、1Panel 面板升级步骤(全程约 10 分钟)
前提:补丁已发布(php.net 下载页出现 8.3.36 或更高),且 1Panel 应用商店已同步官方包(通常滞后几小时到一天,本文第五节有对策)。
- 同步应用商店(1 分钟):登录 1Panel → 左侧「应用商店」→ 点「同步」/「检查更新」,让本地应用清单拉到最新。
- 找到 PHP 运行环境(1 分钟):进入「应用商店 → 已安装」,找到 PHP 应用(或者「网站 → 你的站点 → 运行环境」跳转过去),确认当前版本号。
- 升级(3-5 分钟):点 PHP 应用 → 「升级」→ 选择目标版本(8.3.36)→ 确认。面板会拉取新镜像并重建容器,期间站点会有几秒到几十秒的瞬时中断,选个人少的时段即可。升级前面板会自动保留旧版本配置。
- 验证版本(10 秒):再跑一次
curl -sI https://你的域名/ | grep -i x-powered-by,版本号变了就成了一大半。 - 冒烟清单(2 分钟):依次打开首页、一篇文章页、后台登录页(/wp-login.php)、后台仪表盘,确认全部正常、无 502/500。WordPress 用户再顺手看一眼「站点健康」有没有新告警。
五、卡住了怎么办
- 应用商店里还没有 8.3.36:正常现象,官方包同步需要时间。此时不要手改容器镜像、不要动系统包,等半天再点一次「同步」;如果 24 小时后还没有,去 1Panel 的 GitHub 提个 issue 催更。
- 升级后站点 502:多半是新容器没起来。到「容器」页看 PHP 容器状态和日志;重启一次容器;还不行就用面板的版本回退功能退回旧版,再排查。
- 想回退:1Panel 的应用升级支持选择旧版本重装,点回 8.3.35 即可,站点数据不受影响(PHP 升级不动网站文件和数据库)。
- 多站共用一台服务器:PHP 运行环境升级后所有共用它的站点一起生效,记得每站都过一遍冒烟清单。
六、顺手的三条加固建议
- 关掉版本暴露:php.ini 里
expose_php = Off,让响应头不再回显 PHP 版本号——挡不住攻击,但能少给扫描器递情报。 - 关注 PHP 版本生命周期:8.2 安全支持到 2026-12-31,8.3 到 2027-12-31。老版本早晚要迁,别拖到「带病坚持」。
- 留好观察手段:升级前后各看一眼服务器日志,留意 php-fpm 容器有没有异常子进程(sh、bash、curl、nc 之类)——这是判断是否已被利用的关键信号(参考 Huntress 对 php2shell 类攻击的检测建议)。
七、参考资料
- PHP 官方预告:php.net 新闻页(10 月 20 日安全发布公告)
- BleepingComputer 报道:Two critical PHP RCE zero-days leaked before patches
- Huntress 快速响应:php2shell —— Leaked Critical PHP Vulnerabilities
本文写作时(10 月 21 日 15:00)补丁尚未发布,官方受影响版本清单以 22:00 php.net 安全公告为准。本站将在今晚完成升级,实操中的新发现会补充到评论区。
暂无评论,快来抢沙发