昨天(2026年10月21日)PHP官方紧急发布了两个严重安全漏洞的修复补丁,漏洞代号php2shell,CVSS评分高达9.2分,影响从PHP 5.4到最新版本的几乎所有PHP版本。
漏洞概述
这两个漏洞分别是:
- CVE-2026-109618:通过内存溢出(OOM)导致内部数据结构不完整,请求清理时把无效数据当有效数据处理,可导致内存破坏和远程代码执行(RCE)。
- CVE-2026-109619:请求相关的全局状态在内存释放后仍然残留(use-after-free),后续同一worker处理的请求会使用到已释放的内存,同样可导致RCE。
影响范围
所有处理网页请求的PHP部署环境都面临风险,包括:
- Apache mod_php(风险最高,已有完整利用POC)
- PHP-FPM
- php-cgi
- FrankenPHP
- LiteSpeed
因为漏洞存在于PHP引擎本身,而不是应用代码中,所以即使是最简单的"Hello World"页面也可能被攻击。攻击者无需登录即可远程执行代码,还可以读取PHP worker进程内存中的密码、API密钥、证书等敏感信息。
漏洞发现背景
这两个漏洞由Wiz Research、Calif和OpenAI的Codex Security团队(GPT-5.6 Sol)独立发现。值得注意的是,AI模型在漏洞发现和利用开发过程中发挥了重要作用,原本需要一个团队数月完成的工作,现在一周内就能完成。
修复版本
PHP官方已发布以下修复版本:
| PHP分支 | 受影响版本 | 首个修复版本 |
|---|---|---|
| 8.5 | 低于 8.5.12 | 8.5.12 |
| 8.4 | 低于 8.4.27 | 8.4.27 |
| 8.3 | 低于 8.3.36 | 8.3.36 |
| 8.2 | 低于 8.2.35 | 8.2.35 |
注意:PHP 8.1及更早版本已停止官方更新,但安全团队发布了源代码回溯补丁(7.4、8.0、8.1)。Linux发行版的长期支持版本可能已经在旧版本号下包含了补丁,需要查看包更新日志确认是否包含CVE编号。
立即修复步骤
- 升级PHP版本到上述修复版本或更高
- 重启Web服务器和PHP-FPM:Apache、Nginx+PHP-FPM、LiteSpeed等所有相关服务都要重启
- 检查内存配置:补丁新增了硬内存限制,需要根据应用需求调整memory_limit和post_max_size
临时缓解措施(非完整修复)
如果暂时无法升级,可以采取以下措施降低风险,但不能完全防护:
- CVE-2026-109618相关:设置memory_limit=-1(防止应用覆盖),保持post_max_size较低值,在Web服务器或代理层面强制执行请求大小限制
- CVE-2026-109619相关:设置session.upload_progress.enabled=0并重启所有worker;PHP 8.5还需设置fatal_error_backtraces=0
PHP核心开发者Gina Peter Banyard明确表示:"唯一的缓解措施就是打补丁/升级PHP"。
攻击迹象
如果已经升级但怀疑被入侵,可以关注以下异常:
- 异常的multipart请求后跟内存限制错误或重复的HTTP 500响应
- 异常大的PHPSESSID响应cookie
- PHP worker进程无原因重启
参考链接
---
本文更新于2026年10月22日,建议所有使用PHP的站长尽快检查自己的服务器环境并升级。
阅读全文
轻语博客








评论前必须登录!
立即登录 注册