PHP爆重大漏洞PHP2Shell,请立即升级至修复版本
PHP2Shell:如何引发全球互联网惊魂48小时
事件回顾
2026年10月21日,PHP官方发布紧急安全更新,修复了两个高危远程代码执行漏洞——CVE-2026-109618 与 CVE-2026-109619,安全社区给它们起了个直白的绰号:"PHP2Shell"。意思是,攻击者往你的网站发一个请求,就能在服务器上拿到一个 shell,也就是为所欲为的控制权。
CNVD 对该漏洞的综合评级为"高危",且漏洞技术细节与 PoC 已广泛传播。
为什么它如此危险
两个漏洞都源于 PHP 处理 Web 请求时的内存管理逻辑缺陷:
CVE-2026-109618:PHP 在内存不足时调用 longjmp() 直接终止当前操作,导致请求数据仅完成部分初始化,后续关闭流程读取这些无效数据,最终形成远程代码执行路径。
CVE-2026-109619:工作进程保留了前一个请求的全局状态却未正确重置,造成释放后使用(UAF),攻击者可利用跨请求的生命周期漏洞实现内存泄露或远程代码执行。
最可怕的一点:无需登录、无需用户交互、无需应用层漏洞,攻击面就是任何能接收 HTTP 请求的 PHP 端点,甚至包括静态站点中的简单 PHP 页面。在 Apache mod_php 这种最常见的部署方式下,攻击在网站自己的代码开始运行之前就已经触发。
波及范围有多大
W3Techs 统计显示,全球约四分之三的网站使用 PHP 作为服务器端编程语言,WordPress、Drupal、Joomla、Magento、Laravel、Symfony、phpMyAdmin、Nextcloud 等主流应用均依赖 PHP。VirusTotal 估算全网可探测的 PHP 主机超过 510 万台。
后果是真实的:荷兰的电子身份系统 DigiD、政务门户 MijnOverheid 全部暂停服务,连荷兰国家网络安全中心自己的网站都一度关闭;芬兰部分政府网络服务被迫关闭;日本 pixiv、Niconico 等平台宣布紧急维护。奇安信 Xlab 在10月22日就捕获到来自全球近千个源 IP 发起的数万次攻击尝试。
一个值得注意的细节
这次漏洞是 AI 参与发现的。安全公司 Calif 借助 OpenAI 模型找出漏洞,Wiz 也称其团队使用自研工具和 Gemini 模型发现了同样的问题。Wiz 表示,这两个高危漏洞已在 PHP 代码库中隐藏了十多年。而披露过程本身也很混乱——原定10月22日协调披露,10月20日下午 Hacker News 上就出现了泄露帖,当晚 Calif 又误发了一段演示视频,副本随即疯传。
该做什么
修复版本:PHP 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12
排查时别踩坑:CLI 和 Web 服务器可能运行不同的 PHP 版本,需要用 php-fpm -v 查询网站实际提供的版本。升级后必须重启 Apache、PHP-FPM 及所有常驻 worker,仅替换二进制而不重启进程不能消除风险;容器环境应重新构建镜像,Kubernetes 需滚动重启所有 Pod。
如果实在无法立即升级,可临时设置 memory_limit=-1、session.upload_progress.enabled=0,或用 WAF 拦截异常 multipart/form-data 请求——但这些只能降低部分风险,无法替代补丁。
另外提醒一句:PHP 8.1 及更早版本已停止官方支持,不再发布正式修复版本,官方仅提供需自行编译的源码补丁。如果你的存量项目还跑在 7.x 或 8.0 上,这次是最好的迁移契机。
生产内容,同时打通搜索引擎(SEO)与AI搜索引擎(GEO)流量入口的软件! 点击进入365建站器 »
