PHP安全漏洞修复及升级建议

更新时间:
复制 MD 格式

PHP 官方于 2026-10-21 披露了两个无需身份验证即可远程利用的高危漏洞(统称 php2shell):CVE-2026-109618 和 CVE-2026-109619。攻击者通过发送特制的 HTTP 请求(如 multipart POST 请求)触发内存破坏,可在服务器上执行任意代码。漏洞在请求进入业务代码之前即可触发,PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed 等处理 Web 请求的部署方式在一定条件下均受影响。

未经身份验证的攻击者利用此漏洞可获得 Web 工作进程权限,可访问或篡改该进程账户有权访问的数据或文件、植入恶意程序,并可能导致服务器被完全接管、敏感数据泄露。完整技术细节参见阿里云安全公告。

受影响版本与安全版本

PHP 分支

受影响版本

安全版本

8.2

< 8.2.35

8.2.35

8.3

8.3.0 至 8.3.35

8.3.36

8.4

8.4.0 至 8.4.26

8.4.27

8.5

8.5.0 至 8.5.11

8.5.12

如何确认是否受影响?

  • 在服务器上执行 php -v,对照上表判断。说明:若一台服务器安装了多个 PHP 版本(如宝塔等面板环境),php -v 显示的可能是命令行版本,需以 Web 服务实际调用的 PHP 版本为准。

  • 使用云安全中心的用户,可通过漏洞管理中的扫描任务检测,具体操作参见下文云安全中心。

修复与升级建议

  1. 处于受影响版本范围内的用户:评估业务影响后,升级至对应分支的安全版本(8.2 → 8.2.35 及以上,8.3 → 8.3.36 及以上,8.4 → 8.4.27 及以上,8.5 → 8.5.12 及以上)。升级前建议为服务器创建快照备份,以便出现异常时回滚;跨大版本升级前需完成业务兼容性测试。

  2. PHP 8.1 及更早版本(如 5.4、5.6、7.2):官方已停止维护,不再发布正式修复版本。PHP 安全团队针对 7.4、8.0、8.1 提供了仅包含本次漏洞修复的源码补丁(PHP-7.4、PHP-8.0、PHP-8.1),可自行编译使用,也可联系操作系统发行版或 LTS 服务商获取已修复的软件包;建议升级至仍在维护的 PHP 版本(8.2 及以上)。

暂时无法升级时的缓解措施(仅可降低风险,无法替代升级)

  • CVE-2026-109618:由管理员强制设置 memory_limit=-1,重启全部 PHP 工作进程并确认配置未被覆盖;同时在前端限制解码后的请求体大小、上传数量及输入复杂度,对于不使用 multipart 表单的应用,可通过阻断此类请求降低风险。取消内存上限需评估资源耗尽风险,且不应使用 RLIMIT_AS 或 RLIMIT_DATA 作为替代防护。详见 GHSA-w8hw-w9fx-j79w。

  • CVE-2026-109619:由管理员设置 session.upload_progress.enabled=0;PHP 8.5 还可设置 fatal_error_backtraces=0;PHP-FPM 可在评估性能影响后设置 pm.max_requests=1,减少跨请求状态复用。均需重启全部 PHP 工作进程。详见 GHSA-6wmf-4rv5-p3rp。

临时防护:阿里云安全产品

无法立即升级 PHP 时,可使用阿里云安全产品进行临时防护(虚拟补丁机制,仅用于应急防护,无法替代漏洞修复):

  • Web 应用防火墙(WAF):WAF 2.0 和 3.0 均已上线针对该漏洞的防护规则(规则 ID:901222),资产接入 WAF 后默认开启的 Web 核心防护规则即可拦截该漏洞利用流量,无需额外配置(资产接入方式请参见接入概述)。如需验证防护是否生效,可在防护配置 > Web 核心防护中查看该规则动作是否为拦截、状态是否为开启,更多信息,请参见如何查询 Web 核心防护规则是否支持针对某漏洞的防护?

  • 云防火墙:默认开启入侵防御(IPS)模块拦截模式,为公网资产开启互联网边界防火墙开关后,无需额外配置,即可为此高危漏洞提供防护(防护规则 ID:41000594)。保护开启方式请参见互联网边界防火墙。

  • 云安全中心:支持检测该漏洞,并可为部分操作系统的漏洞提供一键修复,详情参见下文。

云安全中心:检测与修复说明

检测方式

修复说明

系统漏洞(Linux 软件漏洞)

  • 依赖操作系统支持范围,请参见漏洞扫描和修复支持的操作系统。

  • 支持控制台一键修复,具体操作请参见查看和处理漏洞。

  • 服务和版本要求:

    • 包年包月:购买版本服务(高级版、企业版、旗舰版)和漏洞修复增值服务。

    • 按量付费:购买主机及容器安全、漏洞修复后付费功能。

应用漏洞

检出后不支持一键修复,需自行升级 PHP。

常见问题

收到短信或告警提示资产受该漏洞影响时,如何判断是否确需处理?

阿里云安全风险通告基于您的资产情况推送。收到短信或云安全中心告警,通常说明您的账号下存在 PHP 资产,请按“如何确认是否受影响?”排查;若确认未使用 PHP,可忽略该提示,或通过云安全中心漏洞管理核实,具体操作请参考查看和处理漏洞。

此前云安全中心未检出该漏洞?

  1. 未配置白名单,导致云安全中心的Web扫描器能够正常访问服务器并执行主动验证(POC)。配置说明请参见配置网络白名单。

  2. 云安全中心客户端异常,解决方案请参见排查客户端问题。

  3. 未开启云安全中心自动扫描策略,如何配置请参考执行漏洞扫描。

  4. 该漏洞的检测规则于 2026-10-21 上线,此前不会检出。

  5. 系统漏洞检测依赖操作系统的支持范围,超出范围的系统不会检出,支持范围请参见漏洞扫描和修复支持的操作系统。

我使用了容器镜像,升级宿主机PHP是否就修复了?

不是。容器内的PHP是独立的,需要更新容器镜像中的PHP版本,或重新构建容器镜像使用修复版PHP。

修复需要重启服务吗?会不会中断业务?

需要重启PHP工作进程使其加载更新后的程序。重启会中断正在处理的请求,建议在维护窗口执行,提前通知相关业务方,并做好回滚准备。

能否在暂不升级的情况下先实施防护?

可采取临时缓解措施:优先使用 WAF 或云防火墙拦截漏洞利用流量;无法立即升级时,再同时启用 PHP 配置缓解措施(参见上文)。缓解措施与虚拟补丁均为过渡方案,建议尽快修复漏洞以消除风险。