关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

关于针对PHP核心远程代码执行漏洞的防护公告

发布时间:2026-10-23 14:31:44

概述

2026 年 10 月 21 日,PHP 官方发布紧急安全更新,修复 PHP 解释器核心中的两个严重漏洞 CVE-2026-109618 与 CVE-2026-109619,CVSS v4.0 评分均为 9.2。两个漏洞均可导致未授权的远程代码执行(RCE):攻击者无需登录,也无需站点暴露特定业务接口,通过发送特制 HTTP 请求,即可在 PHP 进程权限下执行任意命令。

PHP 官方说明,所有处理 Web 请求的 PHP 部署形态均受影响,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 和 LiteSpeed,其中 Apache mod_php 风险最高;本次漏洞没有完整的缓解方案,升级到修复版本是唯一安全的选择。

漏洞影响范围

PHP 分支
受影响版本
修复版本
8.5.x
低于 8.5.12
8.5.12
8.4.x
低于 8.4.27
8.4.27
8.3.x
低于 8.3.36
8.3.36
8.2.x
低于 8.2.35
8.2.35

PHP 8.1 及更早版本:官方不再提供更新,仅额外提供 PHP 7.4、PHP 8.0、PHP 8.1 的最小源码补丁(source backport)。使用发行版安装包请联系发行版供应商,或升级到受支持的 PHP 8 分支。

PHP 8.2:将于 2026 年 12 月 31 日结束生命周期,此后不再获得安全修复。

宝塔面板三步修复法:照着做,别慌

先说原则:优先升级,临时配置只是兜底。只有补丁能真正堵住漏洞,临时缓解只是降低风险,不是根治。

【第一步:备份】

升级前先把网站文件和数据库完整备份一份。宝塔面板左侧“网站”里,每个站都有备份入口,顺手也能用“计划任务”加个自动备份。这是所有操作的地基,出问题能一键回滚。

【第二步:8.x 版本直接面板升级】

如果你是 PHP7.4-PHP8.2 及以上,最简单。

登录宝塔面板 → 软件商店 → 已安装 → 找到正在用的 PHP 版本 → 点管理 → 检查更新,直接升到对应安全版本。

PHP7.4以上版本,8.1以下的版本,宝塔出了安全修复版本,PHP8.1->PHP8.1.35、PHP8.0->PHP8.0.31、PHP7.4->PHP7.4.34。上面用的是宝塔PHP修复版本。

升完在“软件商店-已安装”里核对版本号,确认是 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 其中之一。上面用的是官方的补丁升级。

然后重点测一遍:网站能不能开、上传功能正不正常、数据库连不连得上、后台登录顺不顺。

【第三步:老版本用宝塔修复版】

如果你还跑在 PHP 7.0~7.3,官方不提供补丁了,但宝塔已经出了修复版,是从 7.4 官方补丁逐行比对回移出来的四个版本:7.0.34、7.1.34、7.2.35、7.3.34(宝塔修复版)。

按你的版本,在服务器终端(SSH)里选一条执行:

PHP 7.0:curl -o php7_cve.sh download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 70

PHP 7.1:curl -o php7_cve.sh download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 71

PHP 7.2:curl -o php7_cve.sh download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 72

PHP 7.3:curl -o php7_cve.sh download.bt.cn/install/php7_cve.sh && bash php7_cve.sh install 73

几点提醒:

执行前务必先备份;升级会重启 PHP,站点会有短暂不可用,选低峰期操作;这是宝塔自建补丁,强烈建议先在测试环境把业务跑一遍,确认没问题再上生产;一台服务器往往装了多个 PHP 版本,逐一核查,别漏掉还在偷偷跑着的旧版。

【临时缓解方案:只能降低风险,不能替代升级】

如果一时半会儿升不了,先做这些止血。

针对 CVE-2026-109619,改 php.ini,把 session.upload_progress.enabled 设为 0;PHP 8.5 额外加一条 fatal_error_backtraces = 0。改完重启 PHP。

针对 CVE-2026-109618,调整 POST 大小限制:没有大文件上传就设 post_max_size = 8M,需要传文件就 32M,同时保证 upload_max_filesize 小于 post_max_size。别乱用 memory_limit = -1,它确实能降低利用条件,但等于关掉了 PHP 内存限制,小白千万别碰。

另外可以在 Nginx/Apache 代理层限制请求体大小、参数数量,多一道防线。


/template/Home/ZdsjuAE/PC/Static