通知公告 notice

PHP2Shell(CVE-2026-109618 / CVE-2026-109619)完整信息

2026-11-05 121 次

PHP2Shell(CVE-2026-109618 / CVE-2026-109619)完整信息

PHP2Shell,2026年10月爆发、当前全球关注度最高的PHP内核无认证RCE双漏洞,CVSS v4.0 9.2(Critical)

基础信息

  • 代号:PHP2Shell

  • CVE编号:CVE-2026-109618、CVE-2026-109619

  • CNVD编号:CNVD-2026-41674、CNVD-2026-41675

  • 披露时间:2026-10-20细节提前泄露;2026-10-21 14:00 UTC PHP官方紧急发布补丁(比原定协调披露提前)

  • 漏洞类型:内核级内存破坏,未授权远程代码执行(Pre-Auth RCE)

  • CVSS v4.0:9.2

  • 核心特点:漏洞在PHP解释器内核,和业务代码无关,哪怕你的PHP代码本身无漏洞、HelloWorld页面都能被拿下;WordPress、Drupal、Discuz、自研PHP系统全部受影响

两个漏洞原理区别

  1. CVE-2026-109618:OOM内存耗尽处理缺陷 处理multipart请求触发内存超限(OOM)、longjmp异常跳转时,请求上下文清理逻辑出错,造成内存破坏

  2. CVE-2026-109619:Use-After-Free,Worker跨请求残留脏状态 PHP-FPM/FrankenPHP等常驻worker进程,上一个失败请求的全局状态没有清空,下一个请求复用已经释放的内存,造成脏状态劫持

攻击报文:特制 multipart/form-data POST 请求,不需要上传文件,不需要Cookie、Session、账号密码

✅ 修复版本(唯一根治方案,官方强调没有完整替代缓解)

  • PHP 8.5 → 8.5.12

  • PHP 8.4 → 8.4.27

  • PHP 8.3 → 8.3.36

  • PHP 8.2 → 8.2.35

    升级后必须重启 php-fpm / php worker,否则旧进程仍然带漏洞;老版本(PHP 8.1及更早官方早已停止维护,不会出补丁)

⚠️ 临时缓解手段(仅降级风险,不能替代升级)

  1. php.ini:session.upload_progress.enabled = Off

  2. 限制 post_max_size,缩小multipart请求上限;WAF拦截异常大、无业务用途的multipart POST

  3. 速率限制、对外网PHP服务做访问源收敛

  4. 容器层增加cgroup内存硬限制,限制单worker内存上限

    官方说明:缓解措施不能100%阻断利用,优先升级

影响面与攻击态势

  • PHP支撑全球约70%网站,也就是你说的近7成PHP站点;漏洞代码可回溯至PHP 5.4,影响周期极长

  • 漏洞泄露后PoC、EXP快速扩散,Cloudflare等厂商观测到大规模扫描+在野利用尝试;攻击者拿到PHP进程权限,默认权限就是web权限,可传马、读取数据库配置、横向移动

巡检命令(Linux)

# 查看当前PHP版本
php -v
# 查看运行中的php-fpm版本(注意cli和fpm版本可能不一致)
ps aux | grep php-fpm

日志特征

攻击触发时,经常会在PHP错误日志出现: Allowed memory size of ... bytes exhausted (tried to allocate ... bytes) 也就是内存超限致命错误,可作为初步检测特征,但不是强特征(容易误报)


关联标签:
近期更新:
返回顶部

在线客服

📞
客服热线
0417-6190114
💬
QQ客服
401403
微信二维码
扫码添加客服微信