【Azure App Service】PHP2Shell 远程代码执行漏洞(CVE-2026-109618 / CVE-2026-109619)在App Service的影响

问题描述

因为爆出PHP2Shell 远程代码执行漏洞(CVE-2026-109618 和 CVE-2026-109619),目前已知PHP 8.5 及以下版本均受影响。

那么在Azure App Service上部署的PHP项目受影响的情况如何呢?

CVE-2026-109618: https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w

PHP内存耗尽处理缺陷:longjmp 提前退出时可能留下未初始化的请求内存。未认证攻击者可通过可控 OOM 触发内存破坏并远程执行代码,危及数据机密性、完整性和服务可用性。

影响低于 PHP 8.2.35、8.3.36、8.4.27、8.5.12 的版本,须立即升级并重启进程。

CVE-2026-109619: https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp

PHP 工作进程的全局状态可能在请求结束后仍指向已释放内存,后续请求访问陈旧指针会引发 Use-After-Free。未认证攻击者可借此泄露内存或远程执行代码。

影响低于 PHP 8.2.35、8.3.36、8.4.27、8.5.12 的版本。

问题解答

Azure App Service 产品已针对 CVE-2026-109618 和 CVE-2026-109619 发布了更新后的内置PHP镜像。、

该安全更新已在Latest和Standard平台发布通道推送至App Service on Linux。

如果需要查看应用程序使用的是由App Service管理的内置 PHP 运行时具体的版本,按照下面的步骤就可以:

  1. 在 Azure 门户中打开目标 App Service,检查 Stack Settings,或者进入 Configuration下的运行时设置,确认当前是否选择了 PHP。
  2. 通过Portal进行应用程序容器的 SSH 会话,并运行命令: php --version
  3. 确认当前运行的版本符合下方列出的最低要求:

附录:关键 PHP 安全发布:对 Azure 应用服务意味着什么

在 Windows 应用服务上的 PHP: Windows 版 App Service 内置的 PHP 运行时处于终止生命阶段(EOL)。 目前没有计划为这些运行时发布安全补丁。

  • 如果可能的话,建议在 Linux 上转用 App Service。 在支持的 PHP 版本上更新和测试你的应用,以获得补丁后的内置 PHP 运行环境。
  • 如果你必须继续用 Windows,就带上自己的 PHP 运行时。 请遵循 《如何使用 Windows 应用服务的自定义 PHP 运行时 》,并使用包含安全修复的 PHP 支持版本。你负责部署、配置和维护该运行时,包括应用未来的安全补丁。

Azure Stack Hub:本 Windows 指南同样适用于运行在 Azure Stack Hub 上运行的 PHP 应用。

PHP on Azure App Service on Azure Stack Hub: 上述关于 Windows 应用服务 PHP 的指导同样适用于 Azure Stack Hub 上的应用服务,因为资源提供者仅支持 Windows 代码托管。
WordPress 更新(2026 年 10 月 21 日): 在 Microsoft Marketplace 中使用官方 WordPress 应用服务部署的 WordPress 应用已更新为已补丁的 PHP 版本,除了仍使用旧版 Alpine 镜像的应用。 基于 Alpine 的旧镜像不会收到这些安全补丁。 如果你的应用使用基于 Alpine 的镜像,请按照从 Alpine Linux 过渡到 Debian for WordPress 的 App Service 操作,迁移到基于 Debian 的镜像。
更新(2026 年 10 月 21 日): 我们已完成 Azure App Service 最新和 标准平台发布通道的安全修复后,内置 PHP 镜像的推广。
更新后的 PHP 运行时版本包括:

终止支持(EOL)的 PHP 版本将不会收到这些安全补丁。 如果你的应用使用了 EOL 的 PHP 版本,请将应用更新为支持的 PHP 版本。更改平台发布通道并不会将 EOL 运行时升级为支持版本。

PHP 安全团队的公告涵盖**了两个关键漏洞,均评级为 CVSS v4.0 9.2(严重)。****发布日期为 2026 年 10 月 21 日星期三 14:00 UTC。**PHP 安全团队会在发布时发布完整细节、受影响版本和已修复版本。

我们正在做什么

Azure 应用服务团队正在积极更新 Linux 上 App Service 内置的 PHP 镜像,更新已固定的 PHP 版本。

你应该做什么

我们鼓励所有在 Linux 应用服务上的 PHP 用户立即行动,及时获取修复。

  • 远离扩展频道。 扩展版通常比标准版晚一个版本,所以这个修复是最后收到的。为了避免长期暴露,现在就切换到标准 版或最新版。
  • 如果你需要最快的修复,选择最新。 面向互联网或高风险的 PHP 应用应优先选择最新频道获取更新后的图片。
  • 自己更新你的自定义容器吧。 如果你在自定义容器中运行 PHP,或者自带 PHP 运行时,App Service 不会对它进行修补。用 PHP 团队发布的修复版本重建你的镜像。
  • 请核实你的 PHP 版本。 打开一个 SSH 会话到你的应用(https://<appname>.scm.chinacloudsites.cn/webssh/host),运行 php --version。
  • 升级 EOL PHP 运行时。 运行已终止 PHP 版本的应用将不会收到这些安全补丁。更新并测试你的应用支持的 PHP 版本,然后配置应用使用该版本。

更改您的平台发布渠道

  • 在 Azure 门户中,进入你的 App Service 应用。
  • 在左侧菜单中,选择堆栈设置 。
  • 在平台发布频道中,选择最新或标准 。
  • Select Save. 选择保存 。

更多信息请参见 Azure App Service 中的操作系统和运行时补丁。

参考资料

Critical PHP Security Release: What It Means for Azure App Service :https://azure.github.io/AppService/2026/10/21/php-critical-security-release-app-service-linux.html#change-your-platform-release-channel

相关推荐
牛奶咖啡131 天前
PHP安全漏洞的通用修复方案
php安全漏洞·php版本升级·php漏洞修复·cve-2026-109618·cve-2026-109619·php2shell·不更新php缓解漏洞方法
路边两盏灯2 个月前
【Azure APIM】在 Azure API Management 中配置 SSE Transport 的 MCP Server:从 App Service 到 APIM 的一次实践
mcp inspector·apim mcp server·app service·mcp see demo
路边两盏灯9 个月前
【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(方案二)
apim·azure 环境·azure developer·自签名证书验证
路边两盏灯9 个月前
【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(方案一)
apim·azure 环境