Skip to content

PHP 与 Node.js 紧急安全更新公告

PHP 修复两项严重远程代码执行漏洞,宝塔已同步更新 PHP 8.2 至 8.5,并为 PHP 7.4、8.0、8.1 打包修复版本。本文说明修复版本、面板升级方法及 Node.js 同期安全更新。

更新于 查看 Markdown

2026 年 10 月 21 日,PHP 官方正式发布紧急安全更新,修复两项严重安全漏洞:CVE-2026-109618 和 CVE-2026-109619。

两项漏洞的 CVSS v4.0 评分均为 9.2 分(严重),攻击者可能在未经身份验证的情况下,利用漏洞实现远程代码执行(RCE)。

目前,宝塔面板已完成 PHP 7.4、8.0、8.1、8.2、8.3、8.4、8.5 的相关安全更新,受影响用户可通过软件商店升级。同日,Node.js 官方也发布了安全更新,使用 Node.js 的用户请一并检查。

一、漏洞详情及影响范围

本次 PHP 官方披露的两项漏洞分别为:

CVE-2026-109618:内存耗尽处理异常导致远程代码执行

PHP 在处理内存耗尽(OOM)异常时,可能导致部分内部请求数据未正确初始化,并在后续清理过程中被错误使用,进而产生远程代码执行风险。

CVE-2026-109619:全局状态残留导致远程代码执行

PHP 在处理请求时,部分内部状态可能在关联内存释放后继续保留。当同一工作进程处理后续请求时,可能错误使用这些失效数据,从而引发远程代码执行风险。

根据 PHP 官方公告,本次漏洞影响通过 PHP 处理 Web 请求的多种运行环境,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 及 LiteSpeed 等。

其中,PHP 官方认为 Apache mod_php 的风险尤其突出,已存在未经身份验证的请求在应用程序代码运行前触发漏洞的验证案例。

二、PHP 安全修复版本与宝塔更新情况

PHP 官方安全修复版本

10 月 21 日,PHP 官方发布以下安全修复版本。截至本公告更新时,以下版本均为对应分支的官方最新版本,宝塔面板已同步更新:

PHP 分支 安全修复版本
PHP 8.2 8.2.35
PHP 8.3 8.3.36
PHP 8.4 8.4.27
PHP 8.5 8.5.12

以上版本均包含针对本次两项严重漏洞的安全修复。

宝塔打包的旧版 PHP 修复版本

针对 PHP 7.4、8.0、8.1,PHP 官方仅在 GitHub 提供了本次漏洞的修复补丁,未发布对应的官方安装包。宝塔已应用相关补丁并完成打包,修复版本如下:

PHP 分支 宝塔修复版本
PHP 7.4 7.4.34
PHP 8.0 8.0.27
PHP 8.1 8.1.35

以上三个版本由宝塔打包,包含针对本次两项严重漏洞的修复。用户可直接通过宝塔面板软件商店升级。

以上七个 PHP 分支的相关安全更新均已完成。 升级前请先更新软件列表,再检查对应 PHP 版本的更新入口。

宝塔面板升级 PHP 的方法

  1. 登录宝塔面板。

  2. 进入左侧菜单「软件商店」,选择 已安装,先单击右上角的 更新软件列表 / 支付状态,获取最新的软件信息。

  3. 找到当前网站正在使用的 PHP 版本,单击对应的 更新,按照提示升级至对应安全修复版本。

    在宝塔面板软件商店先更新软件列表,再单击 PHP 对应的更新按钮

  4. 升级完成后,确认 PHP 版本,并检查网站及相关业务是否正常运行。

建议升级前做好网站及相关配置备份,并根据业务情况选择合适的升级时间。

如果服务器安装了多个 PHP 版本,请分别检查实际使用情况,避免遗漏仍在运行的旧版本。

另外,PHP 8.1 及更早版本已停止 PHP 官方安全维护。使用这些版本的用户,在升级至宝塔本次提供的修复版本后,仍建议尽快规划迁移至受 PHP 官方支持的版本。

三、暂时无法升级的临时缓解措施

对于暂时无法完成 PHP 升级的用户,PHP 官方提供了部分临时缓解建议。

1. 针对 CVE-2026-109619

关闭 PHP Session 上传进度跟踪功能。

登录宝塔面板,进入「软件商店 → PHP → 设置 → 配置修改」,找到对应 PHP 的 php.ini 配置文件,修改以下参数:

session.upload_progress.enabled = 0

如果使用 PHP 8.5,还可增加:

fatal_error_backtraces = 0

保存配置后,重启对应 PHP 服务,确保所有 PHP 工作进程重新加载配置。

这些设置必须在请求解析前生效,请使用 php.ini、FPM 池或服务器配置,不要依赖应用中的 ini_set() 或 FPM 的 .user.ini。

上述配置是 PHP 官方针对 CVE-2026-109619 已确认攻击路径提供的缓解措施,但不能完全排除其他利用方式。

2. 针对 CVE-2026-109618

PHP 官方建议通过调整内存及请求限制,降低漏洞利用风险。

合理限制 POST 请求大小

可根据实际业务情况,在 php.ini 中调整 post_max_size。

不需要大文件上传的业务,可参考:

post_max_size = 8M

需要文件上传的业务,可参考:

post_max_size = 32M

同时确保 upload_max_filesize 小于 post_max_size,并根据业务需求调整具体数值。

如果网站存在大文件上传、数据导入等功能,请谨慎修改,避免影响正常业务。保存后重启对应 PHP 服务,使配置生效。

评估 PHP 内存限制及资源隔离

PHP 官方还提出,可通过设置以下参数,降低攻击者利用 PHP 内存限制触发相关漏洞的风险:

memory_limit = -1

该配置会取消 PHP 自身的内存限制,不建议普通用户在缺少资源隔离的情况下直接使用。 仅建议具备相关运维经验的用户,在配置容器或 cgroup 内存限制、确保不会影响整机稳定性的前提下评估使用。

如采用此措施,应确保应用、目录或 FPM 池配置没有重新设置有限的 memory_limit。底层内存分配失败仍可能触发漏洞;不要使用 RLIMIT_AS 或 RLIMIT_DATA 替代容器或 cgroup 限制,以免引发相关内存分配失败。

此外,PHP 官方还建议在 Web 服务器或代理层限制请求体大小、请求参数数量及复杂度等,进一步降低攻击风险。相关限制也应覆盖没有有效 Content-Length 的请求。

四、安全建议

鉴于本次漏洞风险较高,我们建议所有使用 PHP 的用户尽快开展检查:

  • 优先升级 PHP:PHP 8.2、8.3、8.4、8.5 用户尽快升级至对应安全修复版本。
  • 升级旧版 PHP:PHP 7.4、8.0、8.1 用户分别升级至宝塔打包的 7.4.34、8.0.27、8.1.35 修复版本,并尽早规划迁移至受 PHP 官方支持的版本。
  • 做好业务验证:更新完成后,检查网站访问、文件上传、数据库连接及其他核心业务功能。
  • 关注异常情况:留意 Web 访问日志、PHP 错误日志及服务器异常进程等情况。

PHP 官方已明确指出,本次漏洞不存在能够完全替代安全更新的临时缓解方案。因此,最终仍应以升级至对应安全修复版本为准。

宝塔将持续跟进 PHP 官方安全更新,及时同步相关版本,协助用户降低服务器及网站运行风险。

五、Node.js 同步发布高危安全更新

10 月 21 日,Node.js 官方也发布了安全更新,共修复 10 项安全漏洞,其中包含 4 项高危漏洞、3 项中危漏洞及 3 项低危漏洞。

本次漏洞涉及远程代码执行(RCE)、TLS 证书校验绕过、DNS 解析异常等安全风险。

其中,CVE-2026-111497 为高危漏洞,攻击者可能利用 Node.js Brotli 解码器越界写入问题实现远程代码执行。此外,多项 TLS 相关漏洞可能导致证书主机名校验被绕过。

Node.js 官方安全修复版本

Node.js 分支 安全修复版本
Node.js 22.x 22.23.4
Node.js 24.x 24.22.1
Node.js 26.x 26.12.1

建议所有使用受影响 Node.js 版本的用户尽快完成安全更新。

宝塔面板升级 Node.js 的方法

通过宝塔面板安装 Node.js 的用户,可按照以下步骤操作:

  1. 登录宝塔面板,进入「软件商店 → Node.js 版本管理器」。

  2. 单击右上角的 更新版本列表,获取最新的 Node.js 版本信息。

    在宝塔面板 Node.js 版本管理器中单击右上角的更新版本列表按钮

  3. 找到对应的安全修复版本,单击 安装。

  4. 安装完成后,将相关 Node.js 项目切换至新版本,并重启项目服务,确保更新生效。

安装新版本不会自动将所有项目切换至新版本。 建议用户升级后检查项目实际运行的 Node.js 版本,并确认业务正常。

生产环境建议优先选择仍受官方维护的 LTS 版本,升级前做好兼容性验证。

参考资料


宝塔面板

2026 年 10 月 21 日

Navigation

Type to search…

↑↓ navigate↵ selectEsc close