PHP两项高危漏洞修复版本发布:PHP2Shell波及全球Web服务器,升级是唯一选择
一、发生了什么
北京时间昨晚(10月21日22点),PHP 安全团队按计划紧急发布了四个安全版本,一次性修复了 PHP 解释器核心里的两个严重漏洞。这两个漏洞有一个共同的代号——PHP2Shell,编号分别是CVE-2026-109618和CVE-2026-109619。
在 CVSS v4.0 评分体系下,两个漏洞都拿到了9.2 分,属于最高危那一档。更要命的是,这俩都是未授权远程代码执行(RCE):攻击者不用登录、不用你站点暴露什么特殊接口,只要给你服务器发一个构造好的 HTTP 请求,就能在 PHP 进程权限下直接跑任意命令。
说白了,就是对面只要能访问你的网站,就有可能把你的服务器变成他的肉鸡。
二、为什么这次这么紧张
这次和以往"常规月度安全更新"不太一样,有几个细节值得拎出来说:
1. 漏洞提前泄露了。据 PHP 基金会和各国网络安全机构披露,这两个漏洞的细节在计划中的协同发布时间之前就被提前公开了。这意味着补丁刚出门, exploit(利用代码)可能就已经在地下圈子里流转了。留给站长升级的窗口期被大幅压缩。
2. PHP 官方自己表态:没有完整的缓解措施。很多高危漏洞出来后,官方通常会给个临时方案,比如关个功能、改个配置先顶着。但这次 PHP 团队明确说了——升级到修复版本是唯一安全的选择。工信部 NVDB 也在今天(10月22日)火速发了风险提示,要求相关单位立即排查升级。
3. 影响面极大。PHP 是什么量级的存在?全球超过七成的网站跑在 PHP 上,WordPress、Laravel、各种 CMS 和企业内部系统……几乎你能想到的 Web 业务都可能中招。
三、两个漏洞分别是什么
根据腾讯云 EdgeOne 等厂商披露的技术细节,这两个漏洞都发生在 PHP 处理multipart/form-data 请求的阶段,但触发路径不同:
PHP_SESSION_UPLOAD_PROGRESS),正常业务流量里不会出现这个字段,特征明显 | ||
第二个尤其麻烦——它长得就像一个正常的大文件上传请求,传统 WAF 靠特征码拦不住,只能靠业务侧自己限制请求体大小。
四、哪些版本受影响,升到哪个版本
PHP 官方一口气发了四个修复版本,覆盖当前所有仍在维护的分支:
几个补充说明:
PHP 8.1 及更早版本:官方已经停止维护,这次只额外提供了 PHP 7.4、8.0、8.1 的最小源码补丁(source backport)。用发行版包的找你的发行商,否则赶紧往 8.2+ 升。 PHP 8.2 的 EOL 时间是 2026 年 12 月 31 日,两个多月后就不再有安全修复了。借这次升级,建议直接规划往 8.3 或 8.4 迁移。 所有 Web 部署形态都受影响:PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed……其中 Apache mod_php 风险最高。
五、暂时升不了级怎么办
如果你今晚没法立刻滚动更新(比如有一堆站点要排队、要等业务窗口),可以先做这几件事顶一下,但要清楚:这只是拖延,不是修复。
关闭 session 上传进度:
把 php.ini 里的 session.upload_progress.enabled 设为 0 。这能堵死 CVE-2026-109619 的一条利用路径,但 PHP 官方强调该漏洞存在多条失效状态消费路径,关这个配置不能完全堵住。
在 WAF / 网关层拦截:
拦截携带 PHP_SESSION_UPLOAD_PROGRESS 字段的请求(正常业务用不到); 对不需要文件上传的路径,直接拦截 Content-Type: multipart/form-data 请求; 给请求正文设一个合理的大小上限(比如 8KB 或按业务实际需要定),超出的直接拒。
网络隔离:非必要不对公网暴露 PHP 管理端口和后台路径。
改凭证:升级后务必复查并修改账号、口令、数据库密钥——因为你不确定服务器是不是已经被打过了。
六、写在最后
做 Web 开发的都知道,PHP 这门语言"老"是真的老,生态里遗留的屎山也是真的多。但每次出这种核心级 RCE,最该反思的不是 PHP 该不该被淘汰,而是——你的服务器上跑的 PHP 版本,你有多久没看过了?
很多人装完 LNMP 就再也没管过 php -v ,WordPress 后台天天弹"有更新"都被点掉,更别说小作坊式的内部系统。这次 PHP2Shell 就是一个活生生的警钟:核心层的洞,不分你用的是开源框架还是自研代码,只要 PHP 解释器本身有问题,全都在靶场上。
今晚就 SSH 上去跑一句php -v看看吧。该升升,该换换,别等被打穿了再后悔。

留言评论
暂无留言