如何阅读 Wiz 与 Calif 的技术研究
两份研究解释了请求生命周期的错误为何可能影响后续请求。CVE-2026-109618 官方公告验证了 mod_php RCE;FPM 的易受影响判断基于源码分析,并没有展示该 CVE 的完整 FPM 利用。CVE-2026-109619 则确认了依赖应用条件的 FPM 上传进度利用路径。判断每个 SAPI 的证据范围应看对应 GHSA,不要把所有部署说成同样已验证。
Wiz Research阅读原文 ↗Calif阅读原文 ↗把升级指南变成部署核对清单
上游首个修复版为 8.2.35、8.3.36、8.4.27、8.5.12。PHP 7.4、8.0、8.1 有例外提供的最小源码回移,不能说成正常受支持版本。厂商包必须同时核对两个 CVE、已安装完整修订号和厂商公告。容器要基于已修复基础镜像重建,替换每个副本并重启常驻进程。只重启旧镜像或只检查 CLI PHP 都不够。
| PHP 分支 | 低于此版本的上游发行版 | 首个修复版本 | 安全支持结束 |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 2029年12月31日 |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 2028年12月31日 |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 2027年12月31日 |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 2026年12月31日 |
这些分支不会获得 PHP 项目常规版本更新。7.4、8.0、8.1 有最小源码回移植;厂商补丁状态需单独核实。 阅读指南 ↗
PHP Foundation 与 OpenAI 文章带来的启示
PHP Foundation 介绍维护者的协调投入与安全资源;OpenAI 的 Patch the Planet 讲述联合验证、服务商准备和披露流程。这些不代表你的主机已安装补丁。落实到自己的部署,需要责任人、运行时清单、完整包版本、重启记录和升级后验证。部分二手文章对 FPM 和旧分支的描述不同,精确结论以 PHP GHSA 及对应厂商公告为准。
PHP Foundation阅读原文 ↗OpenAI - Patch the Planet阅读原文 ↗php -v
php --ini
# Check the executable used by the Web service separately.
php-fpm -v
# On versioned installations, for example:
php-fpm8.3 -v一手来源与延伸阅读
PHP security team阅读原文 ↗CVE-2026-109618阅读原文 ↗CVE-2026-109619阅读原文 ↗研究解读与实用攻略
PHP2Shell 工具箱
检测公开网站、检查本地配置和日志,或查找开源应急工具。每种结果都会说明依据和局限。
01用通俗的话理解 PHP2Shell
PHP 是网站的运行引擎,WordPress、Laravel 和插件运行在它上面。更新插件不等于更新 PHP。这两个运行时内存安全漏洞可能让异常请求清理演变成信息泄露或代码执行。公开网站检测只能寻找线索,实际 Web 运行时和补丁必须由主机商或管理员确认。
02是攻击尝试,还是已经入侵?
异常 multipart 请求或 WAF 告警可能是攻击尝试。内存耗尽、SIGSEGV/SIGABRT、HTTP 500 突增也可能由正常故障造成。PHP 异常子进程、外连、文件修改或未授权账号值得立即排查,但归因仍需证据。纯内存泄露可能不生成 Webshell 或新文件,文件扫描干净也不能排除。
03先保全证据,再改动主机
记录发现时间、域名、实例、运行时、异常表现及最近一次可信状态。导出原始访问、错误、WAF 和进程日志并保留时区;有条件时保全云审计记录和经授权的磁盘、内存快照。限制副本访问权限,记录哈希。不要把 Cookie、令牌和用户数据传给公开扫描站。取证前避免清空日志或直接删除可疑文件。
04如何阅读 Wiz 与 Calif 的技术研究
两份研究解释了请求生命周期的错误为何可能影响后续请求。CVE-2026-109618 官方公告验证了 mod_php RCE;FPM 的易受影响判断基于源码分析,并没有展示该 CVE 的完整 FPM 利用。CVE-2026-109619 则确认了依赖应用条件的 FPM 上传进度利用路径。判断每个 SAPI 的证据范围应看对应 GHSA,不要把所有部署说成同样已验证。
05Cloudflare:为什么要看响应
Cloudflare 介绍结合请求与源站响应的完整事务检测,可在匹配到可疑响应时阻断可能的数据流出,这对不启动 Shell 的泄露路径也有意义。文章中的上线时间只是历史记录,不代表你的账号和路由已覆盖。请核实规则可用性、排除项和事件日志;直接访问源站和未经过代理的主机,仍需要修复与排查。