我们 10 月 26 日报道过 PHP 的两个严重远程代码执行漏洞(php2shell)。同一天,美国网络安全和基础设施安全局(CISA)以「已有在野利用证据」为由,把这两个漏洞 CVE-2026-109618 和 CVE-2026-109619 列入了已知被利用漏洞目录(KEV)。10 月 28 日,CISA 又把 Linux 内核漏洞 CVE-2026-46300 加进 KEV,条目里写明:它可以和这两个 PHP 漏洞串联,植入 PHP webshell 并以 root 身份执行命令。也就是说,攻击者先借 PHP 漏洞拿到网站进程的权限,再用内核漏洞提权到 root。
内核这一个:5 月就有修复,但很多服务器没重启
- CVE-2026-46300 在 Ubuntu 那里被称为 Fragnesia:内核在合并 socket 缓冲区时会丢掉「共享分片」标记,导致 IPsec 的 ESP(ESP-in-TCP)在解密时直接改写页缓存里的数据。NVD 给的 CVSS 3.1 评分是 7.8(本地攻击);Ubuntu 评为高优先级,理由是「本地提权非常容易」,还可能逃出容器。
- 这个漏洞 5 月 23 日就已公开,发行版早有修好的内核:Ubuntu 22.04 通用内核从
5.15.0-181.191、24.04 从6.8.0-124.124、26.04 从7.0.0-22.22起已修(和 5 月 Dirty Frag 漏洞是同一批内核);Debian 12 从6.1.174-1(DSA-6306-1)、Debian 13 从6.12.90-1(DSA-6295-1)起已修。云厂商定制内核(比如 linux-aws)的版本号不一样,以 Ubuntu 的 CVE 页面为准。 - 坑在于:内核更新装上之后必须重启才生效。Ubuntu 默认开启的自动安全更新会在 24 小时内把新内核装好,但官方说得很清楚,仍然需要重启。几个月没重启的服务器,跑的很可能还是有漏洞的旧内核。
现在要做的事
- PHP:用
php -v看版本,升级到 8.5.12、8.4.27、8.3.36 或 8.2.35(或发行版的修复包),然后重启 PHP-FPM 或 Apache。CISA 的意见是:还在用 PHP 8.1 及更早的不受支持版本、或者没法马上升级的,先把这些系统下线,WAF 只能提供部分防护。 - 内核:
uname -r看正在运行的内核,和上面的版本比;sudo apt update && sudo apt upgrade之后执行sudo reboot。实在不能马上换内核的,Ubuntu 给的临时办法是禁止加载esp4、esp6模块(在/etc/modprobe.d/里写install esp4 /bin/false这样的行),但这会让 strongSwan 之类的 IPsec VPN 用不了。 - 查有没有已经被打进来:CISA 给这两个 PHP 漏洞和这个内核漏洞都标了「需要取证排查」(forensic triage)。CISA 点名要盯的是 PHP worker 进程有没有启动 shell 或下载工具;顺带检查网站目录(尤其上传目录)里有没有最近新冒出来的 .php 文件,以及有没有陌生的定时任务和 SSH 公钥。
为什么要两个一起修
只修 PHP 不修内核,下一个 Web 漏洞照样能把网站进程的权限变成 root;只修内核不修 PHP,网站本身还是敞开的。两边都修完再重启,才算把这条攻击链切断。如果怀疑已经被入侵,按VPS 被入侵后的排查与加固一步步做;基础加固(防火墙、只用密钥登录)见ufw 防火墙与 SSH 密钥登录;9 月另一批被在野利用的内核漏洞见这篇报道;要重装系统,先确认备份本身是干净的。