什么是 PHP2Shell?
PHP2Shell 指 PHP 核心中的两类相关内存安全漏洞:CVE-2026-109618 和 CVE-2026-109619,CVSS v4.0 均为 9.2。研究人员演示了未认证远程代码执行和进程内存泄露。PHP 于 2026 年 10 月 21 日发布修复。漏洞位于解释器本身,不属于某个特定插件或 CMS。
哪些安装需要处理?
PHP 官方建议更新所有处理 Web 请求的安装,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 和 LiteSpeed。WordPress、Drupal、Joomla、MediaWiki、Laravel 和自研应用均继承底层运行时风险。只更新应用无法替换 PHP。还应盘点设备管理界面、测试站、容器和嵌入式产品中的 PHP。
PHP-FPM 可以豁免吗?
不可以。两个漏洞在不同 SAPI 中的利用条件不同。FPM 在请求启动失败时终止子进程,可阻止部分启动阶段的序列,但不消除应用执行阶段及跨请求路径。既不要认为所有架构都与 mod_php 演示完全一致,也不能据此省略 FPM 补丁。
发行版版本号与补丁回移植
Ubuntu、Debian 和企业 Linux 常保留旧的上游版本号,通过软件包修订加入安全补丁。仅看到 8.3.6,既不能证明受影响,也不能证明已修复。须同时匹配系统版本、软件源、架构、已安装修订和两个 CVE 的厂商状态。本工具不编造包修复门槛。
PHP 8.1 及更早版本
这些分支没有常规 PHP 官方更新。本次例外提供 7.4、8.0、8.1 的最小源码回移植,构建及验证由运营者负责。发行版或 LTS 厂商可能提供维护包。研究报告涉及最早 PHP 5.4,不同路径条件不同。应迁移到受支持分支,并核实过渡期间的厂商补丁。
临时缓解无法完整修复
只有完整补丁覆盖所有已知变体。配置可在升级前降低特定路径的暴露,但可能影响上传、性能和可用性。必须在解析请求前由管理员强制应用,并重启全部进程。同时阅读两个 PHP 公告。CDN 或 WAF 只能辅助降低风险,不能证明解释器已修复。
补丁不代表从未遭到入侵
版本比较无法判断是否已被利用。清理前保全日志和镜像证据,调查异常进程崩溃、文件、进程和外连,依照事件响应流程处理。没有错误日志不代表安全。怀疑入侵时先隔离,在控制事件后从可信环境轮换可能暴露的密钥。
判断方法
手动检测在已公布的四个分支中比较完整稳定版本。厂商构建需核对两个 CVE 的公告,未知构建保持未知。可选的网站检测只采集公开报告的版本和平台线索,不验证漏洞利用。缺少响应头、使用 CDN,或某个副本已更新,都不能证明全部运行时安全。日期代表编辑核查时间,不是实时威胁情报。
免费扫描能告诉我是否已经被黑吗?
不能给出确证。公开响应头只能提示版本,本地日志规则只能找线索,看不到完整运行时、缺失的历史和纯内存泄露。先按引导盘点,保全现有证据并关联日志。如果出现未授权账号、异常进程或无法解释的敏感信息泄露,应隔离并联系主机商或应急人员。
是攻击尝试,还是已经入侵? →