PHP 8.3.7 存在高危漏洞 CVE-2026-109618 和 CVE-2026-109619,CVSS 评分 9.2,可导致未经身份验证的远程代码执行;需升级至 8.3.36 或更高版本并重启 PHP 进程。

PHP 8.3.7 的 php-cgi 本身不直接存在独立高危漏洞,但你实际遇到的很可能是 CVE-2026-6735(PHP-FPM /status 端点 XSS)或更严重的 CVE-2026-109618/109619(内核级 RCE),而这些漏洞在 php-cgi 模式下虽不典型,却可能因部署方式不当被间接触发——比如用 CGI 模式暴露了本该只限内部访问的监控接口,或未隔离请求导致残留状态复用。
确认你是否真在用 php-cgi 模式
很多运维误把“PHP 运行在 Apache 下”当成 php-cgi,其实不是:php-cgi 是 PHP 自带的 CGI 可执行文件,常用于 Nginx + FastCGI 场景;Apache 默认用的是 mod_php 或 php8apache2_4.dll(Windows)/libphp.so(Linux)。如果你的 httpd.conf 或 nginx.conf 里没明确调用 php-cgi 二进制路径,那问题大概率不在它身上。
- 检查 Web 服务器配置:Nginx 中找
fastcgi_pass 127.0.0.1:9000或类似,再确认php-fpm进程是否在跑;Apache 中找LoadModule php_module而非ScriptAlias /php/ "/path/to/php-cgi" - 看进程列表:
ps aux | grep -E "(php-cgi|php-fpm)"—— 如果只看到php-fpm,那修复重点就是php-fpm,不是php-cgi -
php-cgi -v输出的版本号必须和你线上运行的一致;若输出PHP 8.3.7但实际请求走的是 FPM,升级php-cgi二进制毫无意义
真正要升级的是 PHP 主版本,不是某个二进制
CVE-2026-6735、CVE-2026-109618 等漏洞是 PHP 解释器内核缺陷,修复只随主版本发布。PHP 8.3.7 属于已知存在风险的版本(根据 2026 年 5 月安全公告,8.3.x < 8.3.31 全部受影响),必须升到 8.3.31 或更高。
- 别只替换
php-cgi文件:它依赖libphp.so、ext/扩展、zend引擎等整套运行时,单独换二进制会引发段错误或函数缺失 - WAMP 用户:去官网下载完整
PHP 8.3.31 (Thread Safe)Zip 包,解压覆盖C:\wamp64\bin\php\php8.3.7\目录,再重启 WAMP - LAMP 用户:用包管理器升级(如 Ubuntu 上
apt install php8.3=8.3.31-1+ubuntu22.04.1+deb.sury.org+1),或从源码编译,确保php -v和php-cgi -v输出一致且为8.3.31
升级后必须关闭或保护 /status 类监控端点
CVE-2026-6735 的本质是 PHP-FPM 的 /status 页面未过滤输出,导致反射型 XSS。即使升级到 8.3.31,如果这个页面仍对外暴露,攻击者仍可诱导管理员点击恶意链接完成利用。
立即学习“PHP免费学习笔记(深入)”;
- Nginx 配置中删除或注释掉类似
location ~ ^/(status|ping)$ { fastcgi_pass ... }的块 - 如必须保留监控,请加 IP 白名单:
allow 127.0.0.1; deny all;,并确保不通过反向代理透出 - Apache 用户检查
php_admin_value status_path是否被设为公开路径,应设为空或仅限内网
最易被忽略的一点:升级 PHP 后,php-fpm 进程不会自动重启——你得手动 systemctl restart php8.3-fpm 或 kill -USR2 $(cat /var/run/php/php8.3-fpm.pid)。不重启,旧漏洞依然存在。另外,所有扩展(尤其是 opcache、pdo_mysql)必须与新 PHP 版本完全匹配,混用会导致 undefined symbol 错误或静默崩溃。



















