奇安信CERT发布PHP远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)安全风险通告,漏洞源于请求生命周期边界状态管理缺陷可致UAF,无需认证即可触发内存泄漏与远程代码执行,PoC已公开且发现在野利用,影响PHP 8.2/8.3/8.4/8.5多个版本,建议尽快升级并重启服务。
● 点击↑蓝字关注我们,获取更多安全风险通告
|
漏洞概述 |
|||
|
漏洞名称 |
PHP 远程代码执行漏洞 |
||
|
漏洞编号 |
CVE-2026-109618、CVE-2026-109619 |
||
|
公开时间 |
2026-10-21 |
影响量级 |
千万级 |
|
奇安信评级 |
高危 |
CVSS 3.1分数 |
8.1 |
|
威胁类型 |
代码执行 |
利用可能性 |
高 |
|
POC状态 |
已公开 |
在野利用状态 |
已发现 |
|
EXP状态 |
已公开 |
技术细节状态 |
已公开 |
|
危害描述:可导致无需认证的堆 UAF、内存泄露和远程代码执行,攻击者以 Web worker 权限执行任意命令,写入 WebShell、窃取凭据和业务数据、横向移动并植入持久化后门。 |
|||
影响组件
PHP 是一种广泛使用的开源服务器端脚本语言,主要运行于 Web 服务器端,支持 Apache mod_php、PHP-FPM(配合 Nginx、Apache mod_proxy_fcgi)、FrankenPHP、LiteSpeed LSAPI 等多种部署方式。W3Techs 统计显示,全球约四分之三的网站使用 PHP 作为服务器端编程语言,WordPress、Drupal、Joomla、MediaWiki、Magento、phpMyAdmin、Nextcloud、Laravel、Symfony、WHMCS 等主流应用均依赖 PHP。
漏洞描述
本次更新内容:
新增攻击检测规则与迹象排查。
利用条件
影响版本
其他受影响组件
以 PHP 为运行时的应用、框架与建站系统可能间接受影响,涉及 WordPress、MediaWiki、phpBB、Magento、Laravel、Symfony、Drupal 等,以及 mod_php、PHP-FPM(含 Docker PHP-FPM 镜像)等部署形态。
目前,奇安信CERT已成功复现PHP 远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619),截图如下:

安全更新
缓解措施
fatal_error_backtraces = 0
map $http_content_type $mp_block {default 0;"~*multipart/form-data" 1;}server {if($mp_block) { return 403; }}
RewriteEngine OnRewriteCond %{HTTP:Content-Type} multipart/form-dataRewriteRule ^ -
header Content-Type *multipart/form-data*respond 403
产品解决方案
奇安信网神云锁服务器安全管理系统(椒图)检测方案
奇安信网神云锁服务器安全管理系统(椒图)默认已有RCE规则支持检测,无需升级特征库。
奇安信天眼检测方案
奇安信网神网络数据传感器系统产品检测方案
奇安信网神网络数据传感器(NDS5000/7000/9000系列)产品,已具备该漏洞的检测能力。规则ID为:8259、8260,建议用户尽快升级检测规则库至2610221013或以上。
奇安信开源卫士已支持
奇安信开源卫士20261022.1527 版本已支持对 PHP 远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)的检测。
奇安信网站应用安全云防护系统已更新防护特征库
奇安信网神网站应用安全云防护系统已全局更新所有云端防护节点的防护规则,支持对PHP 远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)的防护。
奇安信自动化渗透测试系统检测方案
奇安信自动化渗透测试系统已经能够有效检测针对该漏洞的攻击,请将插件版本和指纹版本升级到202610222579以上版本。规则名称:PHP 远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)。奇安信自动化渗透测试系统规则升级方法:系统管理->升级管理->插件升级(指纹升级),选择“网络升级”或“本地升级”。
奇安信天擎终端安全管理系统检测方案
天擎终端安全管理系统已具备针对 PHP 进程异常启动及可疑进程行为的云端检测能力,建议用户开启云查功能,可对相关异常行为进行检测、告警或拦截。
同时,天擎 EDR 支持通过自定义检测规则对相关可疑攻击行为进行监控,用户可根据实际业务场景灵活配置检测规则。
针对 CVE-2026-109618、CVE-2026-109619 漏洞,天擎正在进一步完善相关 EDR 检测规则,计划于近期通过规则库更新提供。建议用户保持天擎规则库及时更新,以获取最新的安全检测能力。
奇安信SaaS 天戟AI智能渗透测试平台检测方案
该平台支持对对外暴露的业务系统网站进行自动化扫描,可快速精准识别 PHP 远程代码执行等漏洞,并全面掌握站点的整体漏洞风险。企业注册默认赠送积分,该积分支持扫描1-2个站点。
使用流程:
1.登录 https://ai.qianxin.com,注册企业账号;
2.提交站点归属授权函;
3.授权通过后即可开始扫描。
远程排查
-
https://github.com/Ademking/php2shell-nuclei-templates/tree/main/templates/php2shell -
https://github.com/ikow/php2shell-poc/tree/main/detection
示例:
for p in 80 443 8080 8443; docurl -sS -k -D - -o /dev/null --max-time 8 "https://目标:$p/" | grep -iE '^(HTTP/|server:|x-powered-by:)'done
curl -sS -D - -o /dev/null https://目标 | grep -iE '^(server:|x-powered-by:|set-cookie:)'
什么都没有 → 不能判安全(按受影响处理)
3. 结论:
-
版本可见且低于修复版 → 按受影响处理。
-
版本可见且达标 → 可能已修,仍需本地确认。
-
版本不可见 → 按受影响处理。
注意:在线 checker(Aikido / Flawfence 等)可能打挂 worker,只在授权 + 低峰使用;“未检出”不等于安全。
本地排查
ps -eo pid,lstart,args | grep -E 'hp-fpm|[a]pache2|[h]ttpd|[l]sphp'
sudo readlink -f /proc/$(pgrep -f php-fpm | head -1)/exe
php-fpm8.3 -v # 换成实际二进制名
Debian/Ubuntu:
zgrep -i CVE-2026-1096 /usr/share/doc/php*/changelog* 2>/dev/null
RHEL 系:
rpm -q --changelog php83-php | grep -i CVE-2026-1096
在网站根目录放:
header('Content-Type: text/plain');echo 'PHP_VERSION=', PHP_VERSION, "n";echo 'SAPI=', php_sapi_name(), "n";
访问后删除。
-
SAPI=apache2handler` → mod_php(最高危)
-
SAPI=fpm-fcgi` → PHP-FPM
sudo systemctl restart php8.3-fpm apache2 # 或对应服务ps -eo pid,lstart,cmd | grep -E 'hp-fpm|[a]pache2'
进程启动时间必须晚于补丁安装时间,再访问探针确认版本已变。
判定结论
|
本地证据 |
结论 |
|
任一在用 SAPI 的二进制低于修复版,且无 CVE backport |
受影响 |
|
版本达标 + 进程启动时间晚于补丁安装 |
已修复 |
|
版本达标 + 进程启动时间早于补丁安装 |
未生效,立即重启 |
|
≤8.1 且无厂商 backport |
升级或隔离 |
|
无法确认 |
按受影响处理 |
修复验证
-
https://gist.github.com/Blevene/472692937d05145d29d17dc3c6edc2a0
攻击原理
检测前准备
php-fpm -i | grep -E 'log_errors|^error_log|fastcgi.logging'grep catch_workers_output /etc/php/*/fpm/pool.d/*.conf
ps -o user= -C php-fpm | sort -u# 常见:33=www-data,48=apache
核心检测
"Allowed memory size of" AND "exhausted"AND ("in Unknown on line 0" OR "in <b>Unknown</b> on line <b>0</b>")
log_format php_sid '$remote_addr [$time_local] "$request" $status$request_length sid=$cookie_PHPSESSID';
LogFormat "%a%t "%r" %>s %I sid=%{PHPSESSID}C" php_sid
|
|
|
|---|---|
session.upload_progress.enabled=Off |
PHP_SESSION_UPLOAD_PROGRESS 字段 |
memory_limit=-1 |
|
fatal_error_backtraces=0 |
|
SecRule ARGS_POST_NAMES|FILES_NAMES "@streq PHP_SESSION_UPLOAD_PROGRESS""id:2026106183,phase:2,deny,status:403,log,msg:'PHP2Shell probe'"
SecRule MULTIPART_PART_HEADERS "@rx (?i)^content-disposition:.*;s*filename=""""id:2026106186,phase:2,pass,nolog,setvar:tx.php_cve_empty_fn=+1"SecRule TX:php_cve_empty_fn "@ge 10""id:2026106185,phase:2,deny,status:403,log,msg:'PHP2Shell max_file_uploads bypass'"
SecRule RESPONSE_HEADERS:Set-Cookie "@beginsWith PHPSESSID=""id:2026106184,phase:3,deny,status:403,log,msg:'PHP2Shell stale PS(id) leak',chain"SecRule MATCHED_VAR "!@rx ^PHPSESSID=[0-9a-f]{32}(?:;|$)"
成功判定
- macro: php_workercondition: (proc.pname startswith php-fpm or proc.pname startswith lsphp or proc.pname in (php, php-cgi))- rule: PHP worker spawned shell or downloadercondition: >spawned_process and php_worker and(proc.name in (sh, bash, dash, zsh, curl, wget, perl, nc, ncat, socat, base64, chmod, chown)or proc.name startswith python)priority: CRITICAL- rule: PHP worker fileless exec from memfdcondition: spawned_process and php_worker and proc.is_exe_from_memfd=truepriority: CRITICAL- rule: PHP worker called memfd_createcondition: evt.type=memfd_create and evt.dir=< and(proc.name startswith php-fpm or proc.name in (php, php-cgi))priority: CRITICAL
-a always,exit -F arch=b64 -S execve,execveat -F euid=33 -k php-child-a always,exit -F arch=b32 -S execve,execveat -F euid=33 -k php-child-a always,exit -F arch=b64 -S memfd_create -F euid=33 -k php-memfd-a always,exit -F arch=b32 -S memfd_create -F euid=33 -k php-memfd
快速排查
收敛判定表
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
高风险做法
优先级建议
[1]https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
[2]https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
[3]https://calif.io/php2shell/#writeup
2026年10月21日,漏洞公开披露:CVE 信息已公开,可据此核对受影响产品与版本并启动修复。
2026年10月22日,奇安信 CERT已复现该漏洞,发布安全风险通告。
2026年10月22日,该漏洞已发现在野利用,发布安全风险通告第二次更新。
2026年10月22日,新增受影响核查、临时解决方案,发布安全风险通告第三次更新。
2026年10月25日,新增攻击检测规则与迹象排查,发布安全风险通告第四次更新。
原文始发于微信公众号(奇安信 CERT):【攻击检测规则与迹象排查】PHP 远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)安全风险通告
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-


评论