是。php2shell是php运行时(php-src)底层内存管理缺陷,与业务代码无关:cve-2026-109618因oom时哈希表计数器误增致uaf,cve-2026-109619因session上传进度残留悬垂指针触发释放后使用,均发生在脚本执行前的环境初始化阶段。

会。PHP2Shell 是 PHP 运行时(php-src)自身的底层内存管理缺陷,和你的业务代码是否规范、有没有漏洞完全无关。
为什么业务代码安全也挡不住?
漏洞存在于 PHP 解释器最核心的处理逻辑中,比如:
- CVE-2026-109618:发生在内存耗尽(OOM)时的异常清理路径,哈希表计数器被错误递增但 Bucket 未初始化,后续销毁时读取随机内存;
- CVE-2026-109619:Session 上传进度功能在 multipart 解析中途崩溃后,残留悬垂指针,第二次请求即可触发释放后使用(UAF)。
这些阶段都在你的 PHP 脚本执行前就完成了——Apache mod_php 或 PHP-FPM 工作进程收到 HTTP 请求后,还没走到 index.php,就已经在初始化环境时可能被利用。
哪些场景下“干净代码”照样中招?
只要运行环境满足条件,哪怕只有一行 <?php echo "Hello World"; ?>,也会受影响:
- 使用 PHP 8.2.34、8.3.35、8.4.26、8.5.11 等未修复版本;
- 部署方式为长驻进程型(如 PHP-FPM、Apache mod_php),存在请求间状态复用;
- 服务器接收了特制的 multipart POST 请求(例如含空文件名或伪造 upload_progress 字段)。
真正起决定作用的是运行时版本和配置
修复不靠改业务逻辑,而靠三件事:
- 升级到官方已发布补丁的版本:8.2.35、8.3.36、8.4.27 或 8.5.12;
- 确认 Web 服务器(如 Nginx/Apache)调用的是新版本 PHP 二进制或 FPM socket;
- 对无法立即升级的系统,临时禁用
session.upload_progress、限制 multipart 请求大小、启用 WAF 规则拦截可疑字段(如PHP_SESSION_UPLOAD_PROGRESS)。
换句话说,再严谨的 Laravel 控制器、再完善的 WordPress 主题,也无法绕过 PHP 内核里那本记错的“内存账”。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











