为出海而探索,为选择多想一步。CROSSBORDER GEEK / K8N.COM
K8N跨境极客CrossBorder Geek

教程

PHP 高危漏洞紧急修复:CVE-2026-109618/109619 升级指南

先说结论

如果你的服务器跑着 PHP 且对外提供网页服务,无论用的是 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 还是 LiteSpeed,都应尽快升级到官方安全版本:PHP 8.5.12、8.4.27、8.3.36 或 8.2.35。其中 Apache mod_php 风险最高——官方已演示无需认证的请求就能在应用代码运行之前触发攻击。

PHP 漏洞修复升级示意 AI 操作示意图·以官网实际界面为准

第一步:确认你的 PHP 版本

登录服务器执行:

php -v

会输出类似 PHP 8.4.26 (cli) 的一行。只要主版本是 8.2、8.3、8.4、8.5 而小版本低于上表,就属于受影响范围,需要升级。

第二步:升级到安全版本

三种常见途径,选你正在用的那种:

① 发行版包管理器(最推荐)

Debian/Ubuntu 系:

sudo apt update && sudo apt upgrade php*  -y

CentOS/RHEL/Fedora 系:

sudo dnf update php

如果用的是 Sury、Remi 这类第三方源,先更新源再升级。发行版和 LTS 厂商提前收到了补丁,跟着官方仓库走即可。

② 面板类工具(宝塔、WDCP 等)

在面板的软件商店/环境管理里找到 PHP,选择切换版本到 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 之一,按面板提示操作。

③ 源码编译

到 php.net 下载页获取对应版本的源码包,重新编译安装并替换旧二进制。这种方式适合自维护服务器,编译前先备份现有配置(php.ini、FPM pool 配置)。

第三步:验证升级结果

升级完先确认版本号:

php -v

再检查 FPM 是否正常:php-fpm -t 测试配置、systemctl restart php*-fpm 重启服务、systemctl status php*-fpm 看状态。最后打开一个 PHP 页面(或 phpinfo() 页面)确认 404/500 没有增多、业务正常。

查版本-升级-验证三步流程 AI 操作示意图·以官网实际界面为准

暂时无法升级?先做临时缓解

官方明确:只有升级才是完整修复,下列措施只是降低特定攻击面,不能替代升级:

  • 针对 CVE-2026-109618(OOM 内存破坏):把 memory_limit=-1 写在应用无法覆盖的层级(FPM pool 或 Apache 配置里的 php_admin_value),确认没有其他配置把有限值加回去;调低 post_max_size(不需要上传就设 8M,需要上传设 32M,upload_max_filesize 必须小于 post_max_size)。
  • 针对 CVE-2026-109619(过期全局状态):设置 session.upload_progress.enabled=0 并重启所有 worker;PHP 8.5 上再设置 fatal_error_backtraces=0;修复业务里可被触发的 fatal error 和超时路径。

EOL 版本怎么办

PHP 8.1 及更早版本已不再接收 PHP 项目官方更新。两个选择:一是联系你的发行版或 LTS 厂商确认是否有 backport 补丁(部分厂商提供);二是借这次机会升级到仍受支持的版本。PHP 官方为 7.4/8.0/8.1 提供了最小源码 backport 供自编译用户使用。

服务器终端运维实拍

长期习惯

安全更新不只是这一次。建议:打开发行版安全更新提醒、每月例行 apt update && apt upgrade、关注 php.net 首页公告。漏洞不会等人,别让服务器成为下一个被扫描的靶子。

官方资料

资料核对日期:2026-10-25

最近一周热门文章

按近 7 天访问热度排序,热度积累前优先展示新文章。

当前栏目最新文章

教程 · 继续阅读同栏目的新内容

一起交流

0 条留言

还没有留言,来分享你的想法吧。

LEAVE A NOTE

你的经验,也很重要。

无需注册或登录。请勿公开邮箱密码、证件、银行卡号或其他敏感信息。

更多阅读
K8N · CrossBorder Geek

给出海玩家、独立开发者、跨境博主与外贸人的选型笔记。

关于这个博客 ↗