登录

宝塔面板:PHP 与 Node.js 紧急安全更新公告

877
  • 楼主站长

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

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

    目前,宝塔面板已同步相关 PHP 安全修复版本。Linux 与 Windows 面板的修复情况有所不同,请根据服务器系统查看下方说明并及时处理。 同日,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 官方发布以下安全修复版本。截至本公告更新时,以下版本均为对应分支的官方最新版本,宝塔 Linux 与 Windows 面板均已同步更新:

    PHP 分支安全修复版本
    PHP 8.28.2.35
    PHP 8.38.3.36
    PHP 8.48.4.27
    PHP 8.58.5.12

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

    宝塔 Linux 面板的旧版 PHP 修复版本#

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

    PHP 分支宝塔 Linux 修复版本
    PHP 7.47.4.34
    PHP 8.08.0.27
    PHP 8.18.1.35

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

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

    宝塔 Windows 面板的 PHP 修复情况#

    • PHP 8.5.12、8.4.27、8.3.36、8.2.35 均已修复,Windows 面板用户请通过软件商店升级至对应安全修复版本。
    • PHP 8.1 及更早版本当前需修改配置文件、禁用相关功能进行临时缓解。上方的 7.4.34、8.0.27、8.1.35 修复包适用于 Linux 面板。

    使用 Windows 旧版 PHP 的用户,请修改对应 PHP 实际加载的 php.ini 配置文件,关闭 Session 上传进度跟踪功能:

    session.upload_progress.enabled = 0
    

    保存后重启对应 PHP 服务,确保所有 PHP 工作进程重新加载配置。如果服务器同时运行多个旧版 PHP,请分别修改配置并重启。

    禁用该功能只能缓解 CVE-2026-109619 的已确认攻击路径,不能完整修复本次两项漏洞。 Windows 旧版 PHP 用户仍应尽快迁移至受支持的 PHP 分支,并安装对应安全修复版本。其他临时缓解建议请参见下文。

    宝塔 Linux 面板升级 PHP 的方法#

    1. 登录宝塔面板。

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

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

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

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

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

    另外,PHP 8.1 及更早版本已停止 PHP 官方安全维护。建议使用这些版本的用户尽快规划迁移至受 PHP 官方支持的版本。

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

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

    Caution

    临时缓解不能替代安全更新 以下措施只能降低特定漏洞利用路径的风险,不能彻底修复本次漏洞。最终仍应升级至对应安全修复版本。

    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 自身的内存限制,不建议普通用户在缺少资源隔离的情况下直接使用。 在 Linux 环境下,仅建议具备相关运维经验的用户,在配置容器或 cgroup 内存限制、确保不会影响整机稳定性的前提下评估使用。

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

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

    四、安全建议#

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

    • 优先升级 PHP:PHP 8.2、8.3、8.4、8.5 用户尽快升级至对应安全修复版本。
    • Linux 旧版 PHP:PHP 7.4、8.0、8.1 用户分别升级至宝塔打包的 7.4.34、8.0.27、8.1.35 修复版本,并尽早规划迁移至受 PHP 官方支持的版本。
    • Windows 旧版 PHP:PHP 8.1 及更早版本当前需修改配置文件、禁用相关功能进行临时缓解,并尽快规划迁移至受支持的 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.x22.23.4
    Node.js 24.x24.22.1
    Node.js 26.x26.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 日

    收藏支持反对打赏
    个性签名

    记录生活,分享世界!!!blog

7 条回复

发表回复