{"id":"2000727","slug":"rss-b57684a5b2c9f9","title":"PHP 修复了两处已遭到攻击的严重远程代码执行漏洞","summary":"PHP 修复了两处已遭到攻击的严重远程代码执行漏洞 - InfoQ \n首页 \nAI会议 hot\nAI课程 hot\nAI应用 hot\n报告 \nHarmonyOS \nSnowflake new\n更多 \n\n\n\n 写点什么 \n创作场景\n\n记录自己日常工作的实践、心得\n发表对生活和职场的感悟\n针对感兴趣的事件发表随笔或者杂谈\n 从 0 到 1 详细介绍你掌握的一门语言、一个技术，或者一个兴趣、爱好","topic":"大厂分享","kind":"doc","language":"zh-CN","source":"InfoQ 中文","source_url":"https://www.infoq.cn/article/qUEjcWbwOj5RO59250Lu?utm_source=rss&amp;utm_medium=article","license":"原文版权，转载需授权","updated_at":"2026-11-07T13:55:19.522Z","word_count":3252,"url":"https://knowledgehub.wujiss.com/a/rss-b57684a5b2c9f9","sections":[{"heading":"","text":"PHP 修复了两处已遭到攻击的严重远程代码执行漏洞 - InfoQ 首页 AI会议 hot AI课程 hot AI应用 hot 报告 HarmonyOS Snowflake new 更多   写点什么 创作场景  记录自己日常工作的实践、心得 发表对生活和职场的感悟 针对感兴趣的事件发表随笔或者杂谈 从 0 到 1 详细介绍你掌握的一门语言、一个技术，或者一个兴趣、爱好 或者，就直接把你的个人博客、公众号直接搬到这里 企业动态 行业深度 AI&amp;大模型 出海 后端 芯片&amp;算力 架构 大数据 软件工程 云计算 大前端 管理/文化 PHP 修复了两处已遭到攻击的严重远程代码执行漏洞 作者：Steef-Jan Wiggers 平川 本文字数：2175 字 阅读完需：约 7 分钟 AI摘要 PHP 发布紧急更新修复两个 CVSS 9.2 分高危内存安全漏洞（CVE-2026-109618/109619），统称 php2shell，影响自 PHP 5.4 起所有未打补丁版本。 漏洞源于请求生命周期中的内存不足处理与状态超时，仅可通过升级至指定版本彻底修复；mod_php 已确认完整利用链，PHP-FPM 的内存不足漏洞暂未实证；FrankenPHP 仅源码层面存疑。 适合 PHP 后端工程师、Web 安全工程师、SRE/运维工程师阅读 最近，PHP 于 10 月 21 日发布了紧急更新，修复了两个高危漏洞——可能导致未经身份验证的远程代码执行。亚马逊表示，在补丁发布前的四天内，就有人试图利用这些漏洞。 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 版本中均包含了 CVE-2026-109618 和 CVE-2026-109619 这两个漏洞的补丁。在 CVSS v4.0 中，这两个漏洞的评分为 9.2，并且得了一个非正式的名称 php2shell。这两个漏洞均是请求生命周期中的内存安全缺陷，一个涉及内存不足处理，另一个涉及状态超出其内存的时限。Sansec 报告称，自 PHP 5.4 以来，所有未打补丁的 PHP 版本都存在这些漏洞。公告直截了当地指出了可选方案：不存在完整的缓解措施；更新是唯一安全的选择。 漏洞暴露情况因 PHP 的提供方式而异，官方安全公告对已验证的攻击场景表述十分严谨。Apache mod_php 确认存在这两种漏洞，并且都已经通过“针对 mod_php（使用默认 PHP 输入和内存限制）的 HTTP 攻击”验证。对于 PHP-FPM，会话生命周期漏洞已经得到验证，但对于内存不足漏洞，安全公告指出，“目前尚未证明针对该 SAPI 的完整 FPM 利用方式”。仅根据源代码分析，FrankenPHP 被描述为可能存在漏洞。 攻击者比补丁出现得更早。Amazon Threat Intelligence 在 MadPot 遥测数据中发现了一起可追溯至 10 月 17 日的漏洞利用尝试。该尝试源自“一个与商业匿名网络相关的 IP 地址”，并建议客户“至少从 10 月 17 日开始”展开调查。Cloudflare 于 10 月 21 日 UTC 时间 03:02 部署了 WAF 规则，比补丁发布时间提前了大约 9 小时。 这种协调披露机制早已崩溃。PHP 基金会在其声明中指出，CVE 标识符比预定时间提前两天开始流传，一名研究人员“误将一段展示概念验证的视频发布了出去”，而且“ Chainguard 单方面打破了保密协议，发布了包含修复程序的构建镜像”。该基金会写道，其后果是“任何攻击者现在都可以研究二进制形式的修复方案，而其他所有 PHP 用户仍在等待正式发布”。Chainguard 公布的政策（最后更新于事件发生前一个月）允许其在“发现漏洞正在被积极利用”时缩短披露时间。 有些运营商宁愿停止服务也不愿坐等。在 r/selfhosted 版块，网友 iamShorteh 描述了其关停网站的过程： 我已经将所有网站下线（关闭了 Apache2）。几小时前，有人在推特上泄露了实现远程代码执行（RCE）的分步指南。我不想冒着风险再等上 5-6 小时，直到热补丁发布。 作为预防措施，荷兰国家网络安全中心将其网站下线，荷兰众议院也采取了同样的措施。Sansec 则告知商家没有必要这样做。 对许多人来说，首要任务是确认 PHP 是否正在运行。评论者们发现 OPNsense、OpenMediaVault、Nextcloud 和 Coolify 背后都运行着 PHP，而评论者 spartacle 则指出了这为何难以确认： 对于相当一部分家庭实验室设备来说，这确实很糟糕，但有许多系统我不知道使用的是什么编程语言，容器技术让我无法看清这一点。 随后便是等待软件包的过程。Debian Trixie 很快就发布了，而 Ubuntu、Red Hat 和官方 Docker 镜像紧随其后。评论者 Takeoded 指出，在漏洞披露十三分钟后，Ubuntu 安全团队仍然未发布任何补丁。在 r/PHP 版块，维护者 Ondřej Surý 收获了最热烈的感谢，他的 Launchpad PPA 因流量过载而瘫痪，运维人员不得不将用户引导至 packages.sury.org——该 PPA 目前正被合并至该站点。有一支团队放弃了 Docker Hub，而是自行根据合并后的 Dockerfile 构建了镜像，仅用了八分钟就完成了。 确认补丁是否生效本身就成了一个新的陷阱。评论者 SirRobinBlibs 列举了那些让人们浪费时间的案例： 发行版构建提供了回溯移植。Ubuntu 24.04 的修复包版本为 8.3.6-0ubuntu0.24.04.13，但仍然显示为 8.3.6。请通过你所用的发行版追踪器来核对完整的包版本，而非使用 php -v 命令。命令行界面（CLI）不是 Web 服务器，如果不重启，FPM/Apache 工作进程会将旧引擎保留在内存中。 Ubuntu 的安全公告证实了这些版本字符串。两份 PHP 安全公告均建议运维人员在更新后重启所有工作进程。 该漏洞的实际危害程度尚且存在争议。这两个 CVE 均标注了 AC:H 和 AT:P，即攻击复杂度高且存在额外的攻击要求；Sansec 也修正了他们对于漏洞被大规模利用的预期： 已公开的漏洞利用代码对采用默认配置的 PHP 安装无效。 安全从业者也发现了同样的情况。SirRobinBlibs 警告，不要使用 GitHub 上的概念验证（PoC）进行测试，因为“大多数被点赞的 PoC 在原生 PHP 上无法运行，而且要小心，恶意 PoC 仓库是存在的”。JFrog 记录了作为恶作剧传播的虚假 PoC，其中包括一个会更改受害者桌面壁纸的 PoC。 r/PHP 版块的评论者询问有多少人负责这项工作。PHP 基金会在帖子下面回应称，PHP 的安全工作“仍然依赖于一小群由基金会资助的开发者”，并且“目前这群人数量太少”。 这一升级断层成了该帖子中获赞最多的评论。该评论称，PHP 的终止支持政策十分严苛。PHP 8.1 及更早版本已经不在项目的支持范围之内，尽管项目组曾为 7.4、8.0 和 8.1 发布了最基本的回溯补丁，而 Ubuntu 甚至在 ESM 支持下为早至 14.04 的版本发布了修复程序。PHP 8.2 支持将于 2026 年 12 月 31 日终止。 第三个问题是 CVE-2026-115560 目前仍未修复。PHP 基金会建议，在下一个 Bug 修复版本发布之前，将 session.upload_progress.enabled 设置为 0。到那时，他们会发布完整的安全公告。 原文链接：https://www.infoq.com/news/2026/10/php-critical-rce-patches/"}],"text":"PHP 修复了两处已遭到攻击的严重远程代码执行漏洞 - InfoQ 首页 AI会议 hot AI课程 hot AI应用 hot 报告 HarmonyOS Snowflake new 更多   写点什么 创作场景  记录自己日常工作的实践、心得 发表对生活和职场的感悟 针对感兴趣的事件发表随笔或者杂谈 从 0 到 1 详细介绍你掌握的一门语言、一个技术，或者一个兴趣、爱好 或者，就直接把你的个人博客、公众号直接搬到这里 企业动态 行业深度 AI&amp;大模型 出海 后端 芯片&amp;算力 架构 大数据 软件工程 云计算 大前端 管理/文化 PHP 修复了两处已遭到攻击的严重远程代码执行漏洞 作者：Steef-Jan Wiggers 平川 本文字数：2175 字 阅读完需：约 7 分钟 AI摘要 PHP 发布紧急更新修复两个 CVSS 9.2 分高危内存安全漏洞（CVE-2026-109618/109619），统称 php2shell，影响自 PHP 5.4 起所有未打补丁版本。 漏洞源于请求生命周期中的内存不足处理与状态超时，仅可通过升级至指定版本彻底修复；mod_php 已确认完整利用链，PHP-FPM 的内存不足漏洞暂未实证；FrankenPHP 仅源码层面存疑。 适合 PHP 后端工程师、Web 安全工程师、SRE/运维工程师阅读 最近，PHP 于 10 月 21 日发布了紧急更新，修复了两个高危漏洞——可能导致未经身份验证的远程代码执行。亚马逊表示，在补丁发布前的四天内，就有人试图利用这些漏洞。 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 版本中均包含了 CVE-2026-109618 和 CVE-2026-109619 这两个漏洞的补丁。在 CVSS v4.0 中，这两个漏洞的评分为 9.2，并且得了一个非正式的名称 php2shell。这两个漏洞均是请求生命周期中的内存安全缺陷，一个涉及内存不足处理，另一个涉及状态超出其内存的时限。Sansec 报告称，自 PHP 5.4 以来，所有未打补丁的 PHP 版本都存在这些漏洞。公告直截了当地指出了可选方案：不存在完整的缓解措施；更新是唯一安全的选择。 漏洞暴露情况因 PHP 的提供方式而异，官方安全公告对已验证的攻击场景表述十分严谨。Apache mod_php 确认存在这两种漏洞，并且都已经通过“针对 mod_php（使用默认 PHP 输入和内存限制）的 HTTP 攻击”验证。对于 PHP-FPM，会话生命周期漏洞已经得到验证，但对于内存不足漏洞，安全公告指出，“目前尚未证明针对该 SAPI 的完整 FPM 利用方式”。仅根据源代码分析，FrankenPHP 被描述为可能存在漏洞。 攻击者比补丁出现得更早。Amazon Threat Intelligence 在 MadPot 遥测数据中发现了一起可追溯至 10 月 17 日的漏洞利用尝试。该尝试源自“一个与商业匿名网络相关的 IP 地址”，并建议客户“至少从 10 月 17 日开始”展开调查。Cloudflare 于 10 月 21 日 UTC 时间 03:02 部署了 WAF 规则，比补丁发布时间提前了大约 9 小时。 这种协调披露机制早已崩溃。PHP 基金会在其声明中指出，CVE 标识符比预定时间提前两天开始流传，一名研究人员“误将一段展示概念验证的视频发布了出去”，而且“ Chainguard 单方面打破了保密协议，发布了包含修复程序的构建镜像”。该基金会写道，其后果是“任何攻击者现在都可以研究二进制形式的修复方案，而其他所有 PHP 用户仍在等待正式发布”。Chainguard 公布的政策（最后更新于事件发生前一个月）允许其在“发现漏洞正在被积极利用”时缩短披露时间。 有些运营商宁愿停止服务也不愿坐等。在 r/selfhosted 版块，网友 iamShorteh 描述了其关停网站的过程： 我已经将所有网站下线（关闭了 Apache2）。几小时前，有人在推特上泄露了实现远程代码执行（RCE）的分步指南。我不想冒着风险再等上 5-6 小时，直到热补丁发布。 作为预防措施，荷兰国家网络安全中心将其网站下线，荷兰众议院也采取了同样的措施。Sansec 则告知商家没有必要这样做。 对许多人来说，首要任务是确认 PHP 是否正在运行。评论者们发现 OPNsense、OpenMediaVault、Nextcloud 和 Coolify 背后都运行着 PHP，而评论者 spartacle 则指出了这为何难以确认： 对于相当一部分家庭实验室设备来说，这确实很糟糕，但有许多系统我不知道使用的是什么编程语言，容器技术让我无法看清这一点。 随后便是等待软件包的过程。Debian Trixie 很快就发布了，而 Ubuntu、Red Hat 和官方 Docker 镜像紧随其后。评论者 Takeoded 指出，在漏洞披露十三分钟后，Ubuntu 安全团队仍然未发布任何补丁。在 r/PHP 版块，维护者 Ondřej Surý 收获了最热烈的感谢，他的 Launchpad PPA 因流量过载而瘫痪，运维人员不得不将用户引导至 packages.sury.org——该 PPA 目前正被合并至该站点。有一支团队放弃了 Docker Hub，而是自行根据合并后的 Dockerfile 构建了镜像，仅用了八分钟就完成了。 确认补丁是否生效本身就成了一个新的陷阱。评论者 SirRobinBlibs 列举了那些让人们浪费时间的案例： 发行版构建提供了回溯移植。Ubuntu 24.04 的修复包版本为 8.3.6-0ubuntu0.24.04.13，但仍然显示为 8.3.6。请通过你所用的发行版追踪器来核对完整的包版本，而非使用 php -v 命令。命令行界面（CLI）不是 Web 服务器，如果不重启，FPM/Apache 工作进程会将旧引擎保留在内存中。 Ubuntu 的安全公告证实了这些版本字符串。两份 PHP 安全公告均建议运维人员在更新后重启所有工作进程。 该漏洞的实际危害程度尚且存在争议。这两个 CVE 均标注了 AC:H 和 AT:P，即攻击复杂度高且存在额外的攻击要求；Sansec 也修正了他们对于漏洞被大规模利用的预期： 已公开的漏洞利用代码对采用默认配置的 PHP 安装无效。 安全从业者也发现了同样的情况。SirRobinBlibs 警告，不要使用 GitHub 上的概念验证（PoC）进行测试，因为“大多数被点赞的 PoC 在原生 PHP 上无法运行，而且要小心，恶意 PoC 仓库是存在的”。JFrog 记录了作为恶作剧传播的虚假 PoC，其中包括一个会更改受害者桌面壁纸的 PoC。 r/PHP 版块的评论者询问有多少人负责这项工作。PHP 基金会在帖子下面回应称，PHP 的安全工作“仍然依赖于一小群由基金会资助的开发者”，并且“目前这群人数量太少”。 这一升级断层成了该帖子中获赞最多的评论。该评论称，PHP 的终止支持政策十分严苛。PHP 8.1 及更早版本已经不在项目的支持范围之内，尽管项目组曾为 7.4、8.0 和 8.1 发布了最基本的回溯补丁，而 Ubuntu 甚至在 ESM 支持下为早至 14.04 的版本发布了修复程序。PHP 8.2 支持将于 2026 年 12 月 31 日终止。 第三个问题是 CVE-2026-115560 目前仍未修复。PHP 基金会建议，在下一个 Bug 修复版本发布之前，将 session.upload_progress.enabled 设置为 0。到那时，他们会发布完整的安全公告。 原文链接：https://www.infoq.com/news/2026/10/php-critical-rce-patches/"}