严重PHP远程代码执行漏洞:立即修补(CVE-2026-109618、CVE-2026-109619)

严重PHP远程代码执行漏洞:立即修补(CVE-2026-109618、CVE-2026-109619)

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

DigitalOcean警告PHP存在两个严重远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619),影响PHP 5及以后所有版本,攻击者可执行任意代码并完全控制服务器,且已有公开利用代码。唯一彻底防护是升级至已修复版本(8.5.12、8.4.27、8.3.36、8.2.35),8.1及更早版本无补丁需尽快升级。用户须自行检查并更新Droplets、DOKS、App Platform及Marketplace镜像中的PHP,更新后重启PHP-FPM或Apache。Cloudways等托管服务由平台自动修补。

🔎

延伸解读

漏洞影响范围远超PHP本身

文章指出,这两个漏洞影响从PHP 5开始的所有版本,且攻击者可执行任意代码并完全控制服务器。这意味着不仅直接运行PHP的服务器受影响,依赖PHP的WordPress、Drupal、Laravel等应用以及控制面板、内部工具都可能成为入口。攻击是机会主义的,攻击者会扫描任何未修补的服务器,因此即使网站不是首要目标,也可能被利用进行挖矿、垃圾邮件、DDoS等。

修补责任与托管服务的区别

DigitalOcean强调共享责任模型:对于Droplets等IaaS服务,用户需自行更新PHP;而App Platform、Cloudways、Functions等PaaS/SaaS产品由平台负责修补。Cloudways会自动修补WordPress实例,但非托管服务和其他基础设施仍需用户手动操作。用户应检查所有DigitalOcean资产,包括Droplets、DOKS、App Platform及Marketplace镜像,并更新后重启PHP-FPM或Apache。

版本支持与修补验证要点

官方补丁仅适用于PHP 8.2及以后版本,8.1及更早版本已停止支持,无官方补丁,需立即升级到受支持版本。修补后,通过php -v检查版本是否为8.5.12、8.4.27、8.3.36或8.2.35。若通过包管理器安装,版本号可能不变,需查看包变更日志确认包含CVE编号。重启PHP-FPM或Apache是常被忽略的关键步骤,否则旧进程仍可能 vulnerable。

修补后仍需排查潜在入侵

修补漏洞只能关闭入口,不能消除攻击者已造成的损害。文章建议在完成更新并重启服务后,检查系统是否已被入侵,例如异常进程、加密货币挖矿迹象、垃圾邮件发送、凭据窃取等。同时提醒,攻击尝试不等于成功入侵,许多尝试会失败,尤其是已修补的服务器。若怀疑资源被入侵,应向DigitalOcean提交滥用报告,包含IP、时间戳和日志。

❓

Q&A

CVE-2026-109618 和 CVE-2026-109619 是什么漏洞?影响范围有多大?

这是两个严重的 PHP 远程代码执行漏洞,于 2026 年 10 月 21 日公开披露。攻击者可利用它们在运行 PHP 的服务器上执行任意代码,可能导致系统完全被控制。漏洞影响 PHP 5 及之后的所有版本,包括 WordPress、Drupal、Laravel 等应用以及 DigitalOcean 上的 Droplets、DOKS、App Platform 和 Marketplace 镜像。

我的服务器运行 PHP,该如何检查是否受这两个漏洞影响?

在 Linux 服务器上运行命令 `php -v` 即可查看当前 PHP 版本。如果版本低于已修复版本(8.5.12、8.4.27、8.3.36、8.2.35),或者属于 8.1 及更早的已停止支持版本,则受漏洞影响。需要检查所有运行 PHP 的系统,包括 WordPress、Magento、Drupal、Laravel、控制面板以及内部工具。

如何修复这两个 PHP 漏洞?具体升级步骤是什么?

唯一彻底的修复方法是升级到已修复版本:8.5.12、8.4.27、8.3.36 或 8.2.35。步骤:先运行 `php -v` 确认当前版本;Ubuntu/Debian 系统执行 `sudo apt update` 和 `sudo apt install --only-upgrade 'php*'`;CentOS/Fedora/Rocky/AlmaLinux 系统待补丁发布后执行 `sudo dnf upgrade 'php*'`;对于容器或镜像,需更新基础镜像中的 PHP 版本并重新构建部署。升级后必须重启 PHP-FPM 或 Apache 以加载新版本。

升级 PHP 后需要重启什么服务?为什么重启很重要?

升级 PHP 后需要重启 PHP-FPM 或 Apache。因为仅升级软件包可能不会自动替换正在运行的旧进程,重启可以确保所有仍存在漏洞的 PHP 进程被替换为已修复版本。这是一个常被忽略的关键步骤。

如果我的 PHP 版本是 8.1 或更早,还能获得官方补丁吗?该怎么办?

不能。官方补丁仅适用于当前支持的 PHP 版本(8.2 及更高版本)。8.1 及更早版本已停止支持,不会获得官方补丁。你需要立即计划升级到受支持的版本(如 8.2.35、8.3.36、8.4.27 或 8.5.12)以获得修复。

DigitalOcean 会帮我修补 PHP 漏洞吗?责任如何划分?

根据共享责任模型,DigitalOcean 负责修补其平台即服务和软件即服务产品中的 PHP,例如 App Platform、Cloudways 和 Functions。但对于你自行管理的 Droplets 等基础设施,PHP 运行在你的实例内,更新责任由你承担。Cloudways 等托管服务会自动修补 WordPress 实例,但非托管服务需要你自行处理。

如何确认我的 PHP 已经彻底修复?

检查 PHP 版本是否达到 8.5.12、8.4.27、8.3.36 或 8.2.35。如果通过操作系统包管理器安装 PHP,版本号可能不会变化,此时应查看包更新日志中是否包含 CVE-2026-109618 和 CVE-2026-109619 的修复记录。确认后重启 PHP-FPM 或 Apache。

我的服务器可能已经被攻击者利用了,应该检查哪些迹象?

首先立即升级到修复版本并重启 PHP-FPM 或 Apache,然后检查以下迹象:服务器是否被用于加密货币挖矿、发送垃圾邮件或钓鱼内容、参与僵尸网络或 DDoS 攻击、凭据或数据是否被盗、是否成为勒索软件的立足点。注意,攻击尝试不等于成功入侵,许多尝试会失败,尤其是在已修补的服务器上。

🏷️

标签

➡️

继续阅读