您所在的位置:首页  风险预警
--
“php2shell”远程代码执行漏洞风险通告

“php2shell”远程代码执行漏洞风险通告

发布时间:2026-10-22 预览次数:10

       2026年10月21日,全球广泛使用的服务器端编程语言PHP被曝存在两项严重安全漏洞(CVE-2026-109618、CVE-2026-109619),统称为“PHP2Shell”,攻击者无需身份验证就能直接控制受影响服务器。

一、漏洞基本情况与影响范围

       本次php2shell漏洞是2026年10月22日由腾讯云等多家安全机构联合披露的PHP底层高危漏洞,由AI辅助挖掘发现,包含CVE-2026-109618、CVE-2026-109619两个绑定的内存缺陷漏洞。‌‌‌漏洞CVSS危险评分高达9.2分,属于最高等级的免登录远程代码执行漏洞,普通业务层代码防护完全无法抵御,哪怕网站本身代码没有任何问题,只要底层PHP版本受影响就会被攻击。‌‌‌

      全球公网暴露的受影响PHP服务器超过510万台,大量政务、企业、电商网站使用的WordPress、Discuz等PHP搭建的服务都在攻击范围内,目前已经观测到早期攻击尝试,部分国家已经临时下线政府官网避险。‌‌‌

      所有处理Web请求的PHP安装都受影响,包括PHP-FPM、Apache加mod_php、php-cgi、FrankenPHP和LiteSpeed等所有常见运行模式,其中mod_php模式风险最高,目前已经公开可直接运行的利用程序。‌‌‌

二、漏洞技术原理与触发逻辑

        第一个漏洞CVE-2026-109618和PHP处理内存耗尽错误时的异常退出机制有关,当PHP在部分内部数据还没完成初始化时就因为内存不足中断请求,后续清理操作会错误把未初始化的数据当成正常数据使用,造成内存损坏。‌‌‌

        第二个漏洞CVE-2026-109619和PHP工作进程跨请求保留的全局状态有关,请求处理完之后全局错误、会话等陈旧状态没有完全重置,出现释放后复用的内存安全问题,后续请求可以访问已经失效的内存。‌‌‌

         两个漏洞可以配合利用,攻击者只需要发送一条特制的multipart POST上传请求,不需要登录、不需要诱导用户,就能触发内存破坏,直接在PHP工作进程账户下执行任意代码,完全控制服务器。‌‌‌

三、修复方案与临时缓解措施

         1、最彻底的修复方式是直接升级到PHP官方发布的安全版本:PHP 8.2升级到8.2.35及以上、PHP 8.3升级到8.3.36及以上、PHP 8.4升级到8.4.27及以上、PHP 8.5升级到8.5.12及以上,升级完成后必须重启所有PHP工作进程补丁才能生效。‌‌‌

        2、暂时无法升级的用户可以执行官方给出的临时缓解配置,所有配置都必须通过FPM pool或Apache配置写入,不能依赖业务代码的ini_set修改:

  • 把memory_limit设置为-1,消除内存限制被触发这个可控失败点。

  • 关闭session.upload_progress.enabled选项,挡住已确认的session相关攻击路径。

  • PHP 8.5版本额外设置fatal_error_backtraces=0,挡住致命错误回溯相关的攻击路径。‌‌‌

        3、开启WAF防护规则,但WAF只能作为临时缓冲,无法100%拦截所有攻击变种,也不能防御攻击者绕过CDN直连源站的攻击。‌‌‌

        4、对于已经停止维护的老旧PHP版本,PHP官方已经提供了对应的源码补丁,用户可以自行编译修复,不建议继续使用完全没有补丁支持的超老旧版本。‌‌‌