Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
php-eol-cve-2026-109618-109619 — 针对 EOL 平台上 PHP CVE-2026-109618 / CVE-2026-109619(RCE,CVSS 9.2)的非官方补丁:CentOS/RHEL 7(Remi)上的 PHP 7.3、Amazon Linux 2 上的 PHP 5.4、Amazon Linux 1 上的 PHP 5.3 | Kitploit
工具/GitHubGitHub/leonlai-tw/php-eol-cve-2026-109618-109619
防御工具漏洞分析漏洞利用配置审计Web安全DevSecOps供应链安全
GitHubleonlai-tw/php-eol-cve-2026-109618-109619

php-eol-cve-2026-109618-109619

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

针对 EOL 平台上 PHP CVE-2026-109618 / CVE-2026-109619(RCE,CVSS 9.2)的非官方补丁:CentOS/RHEL 7(Remi)上的 PHP 7.3、Amazon Linux 2 上的 PHP 5.4、Amazon Linux 1 上的 PHP 5.3

查看仓库
20小时19分前尚未审核

CVE-2026-109618 / CVE-2026-109619 针对已停止维护的 PHP 版本的补丁(EL7 上的 7.3,Amazon Linux 上的 5.4 / 5.3)

PHP 安全团队针对 2026-10-21 公布的两个严重、未经身份验证的远程代码执行漏洞所发布的最小缓解措施的非官方向后移植:

CVE安全公告摘要
CVE-2026-109618GHSA-w8hw-w9fx-j79w通过内存耗尽导致的损坏实现 RCE(CVSS 4.0:9.2)
CVE-2026-109619GHSA-6wmf-4rv5-p3rp通过过期的全局状态实现 RCE(CVSS 4.0:9.2)

上游修复了 PHP 8.2.35、8.3.36、8.4.27 和 8.5.12,并为 7.4、8.0 和 8.1 发布了仅含源码的最小缓解措施。没有人针对下列平台发布修复,因此本仓库为这些平台提供补丁和可复现的构建脚本。

与 PHP Group、Remi Collet 或 Amazon 均无关联。 不提供任何担保。部署前请阅读 限制。

为何值得信任

  • 独立交叉验证。 Sury 的 Debian/Ubuntu php7.3 7.3.33-35 包含同一上游提交的独立 7.3 移植版本。此处的 EL7 补丁修改了相同的 17 个文件,且核心改动逐行完全一致(详情见 docs/TESTING.md)。
  • 仅含源码,不含二进制文件。 你从厂商签名的源码 RPM 自行构建软件包; 构建脚本会在打补丁前验证这些签名。
  • 从干净检出复现。 全部三次构建均仅使用本仓库的脚本从头重新运行, 且 tests/verify.sh 对每次构建均报告 PATCHED。
  • 小巧、可审查的补丁,其 SHA-256 校验和见 SHA256SUMS 以及每个 release。

我需要哪个文件?

你的系统PHP 软件包来源使用什么
CentOS 7 / RHEL 7Remi php73(例如 php-7.3.33-14.el7.remi)patches/php-7.3.33-remi22-el7-… + build/el7-php73/build.sh
Amazon Linux 2Amazon php-5.4.16-46.amzn2.*patches/php-5.4.16-amzn2-… + build/amazon-linux/build.sh amzn2
Amazon Linux 1(AMI 2017.03 / 2018.03)Amazon php-5.3.29-1.8.amzn1patches/php-5.3.29-amzn1-… + build/amazon-linux/build.sh amzn1
使用 Sury PPA 的 Ubuntu / Debian,PHP 7.3 / 7.4 / 8.0 / 8.1deb.sury.org此处无需任何操作。 升级到 Sury 7.3.33-35、7.4.33-31、8.0.30-25 或 8.1.34-9(或更高版本)。它们已包含修复(debian/patches/*-Avoid-state-corruption-via-bailout.patch),尽管其变更日志未提及这些 CVE。
Ubuntu 24.04 发行版 php8.3Ubuntu 归档升级到 8.3.6-0ubuntu0.24.04.13 或更高版本。
来自任何来源的 PHP 8.2 或更新版本—升级到 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 或更高版本。

快速开始

构建机器上需要 Docker(任意操作系统)。构建完全在目标发行版的容器内运行, 因此生成的 RPM 可通过简单的 yum localinstall 安装。

git clone https://github.com/leonlai-tw/php-eol-cve-2026-109618-109619.git
cd php-eol-cve-2026-109618-109619

# CentOS 7 / RHEL 7 + Remi PHP 7.3   -> ./work-el7/out/
build/el7-php73/build.sh

# Amazon Linux 2 + PHP 5.4           -> ./work-amzn2/out/
build/amazon-linux/build.sh amzn2

# Amazon Linux 1 + PHP 5.3           -> ./work-amzn1/out/
build/amazon-linux/build.sh amzn1

生成的软件包版本号为 <vendor version>.cvefix1(例如 php-7.3.33-22.cvefix1.el7、php-5.4.16-46.amzn2.0.7.cvefix1),因此它们的排序始终比它们所替换的厂商软件包更新。

仅安装你已有的软件包,然后重启 PHP:

# on the target host, inside the directory holding the built RPMs
yum localinstall $(for p in $(rpm -qa 'php*' --qf '%{NAME}\n'); do ls ${p}-[0-9]*.cvefix1*.rpm 2>/dev/null; done)
systemctl restart php-fpm      # or: apachectl graceful   (mod_php)

长时间运行的 PHP 进程(Swoole/Octane、队列 worker、cron 守护进程)也必须重启;否则它们会继续运行旧的可执行文件。

验证

rpm -q php-cli                  # must end in .cvefix1
tests/verify.sh                 # prints PATCHED / NOT PATCHED

tests/verify.sh 在 16 MB 内存限制下运行一个 CLI 进程,并检查最小缓解措施的可观察行为:内存耗尽时,进程以代码 1 退出,且不运行关闭函数(未打补丁的 PHP 以 255 退出并运行它们)。

要确认正在运行的 PHP-FPM 使用新二进制文件:

p=$(pgrep -o -f 'php-fpm: master'); sha256sum /proc/$p/exe /usr/sbin/php-fpm   # hashes must match

补丁变更内容

与上游提交 712e60f9ed(“Avoid state corruption via bailout”,分支 PHP-7.4-CVE-2026-109618-109619)采用相同的设计:

  1. 内存耗尽不再长跳转进入请求关闭流程(CVE-2026-109618)。分配器将致命错误打印到 stderr,并以 _exit(1) 终止进程;PHP-FPM / Apache 会启动新的 worker。对于“Possible integer overflow in memory allocation”错误同样适用。
  2. Multipart 解析仅保留 Content-Disposition 和 Content-Type 部分头,并忽略重复项,因此小请求不再能让 PHP 分配大量内存。
  3. session.upload_progress 被禁用(CVE-2026-109619 的已确认触发源)。
  4. 请求所属的全局状态在关闭时重置(超全局变量、SAPI 认证/内容类型字段、modules_activated、执行器异常/错误处理状态、链表头),因此后续请求无法观察到已释放的状态。

各文件的详细说明及每个移植的实现方式:docs/PROVENANCE.md。 测试结果:docs/TESTING.md。

限制

  • 这是最小缓解措施,而非 PHP 8.2+ 中发布的完整修复。它阻断了已公开的攻击路径;但并未审计每个扩展是否存在残留状态。升级到受支持的 PHP 版本仍是真正的修复方案。
  • 行为变更(均继承自上游缓解措施):
    • 耗尽 memory_limit 的请求会终止其 worker 进程;使用 mod_php 时,客户端看到的是连接被断开,而非 HTTP 500 页面;
    • 内存耗尽错误后,register_shutdown_function() 回调不会执行;
    • session.upload_progress 不再报告进度。
  • EL7 构建基于 Remi 的 7.3.33-22 源码。如果你当前运行的是 Remi 最后的 EL7 二进制包(7.3.33-14),你还会获得 Remi 从 -15 到 -22 的安全回溯补丁(CVE-2024-4577、CVE-2024-8925/8926/8927、CVE-2024-8929、CVE-2024-11233/11234/11236、CVE-2025-14178、CVE-2026-6735、CVE-2026-14355、CVE-2026-7260、CVE-2026-17543 等)。
  • Amazon Linux 1 构建在 amazonlinux:2018.03 镜像中完成,要求 openssl ≥ 1.0.2k(libcrypto.so.10(OPENSSL_1.0.2))。仍使用 openssl 1.0.1k 的主机必须先通过 amzn-updates 升级 openssl。
  • PHP 5.x 完全没有其他安全支持。请将这些主机视为需要迁移。

状态

由作者于 2026-10-22 在生产环境构建并部署(CentOS 7 / PHP-FPM Web 服务器、Amazon Linux 2 和 1 / mod_php)。欢迎提交 issue 和 pull request;不提供支持承诺。

许可证

这些补丁修改 PHP 源代码,依据 PHP License v3.01 分发。构建脚本和文档采用 MIT 许可证。参见 LICENSE。“PHP”是 PHP Group 的商标;本项目未获其认可。

本软件按“原样”提供,不附带任何形式的保证。请在生产环境之外进行测试,并保留回滚路径(yum downgrade 或磁盘快照)。

下载工具