在 Ubuntu 上修复 PHP2Shell

Ubuntu 自己构建 PHP 软件包。修复包可能沿用较旧的版本号,只是加进了补丁,所以请对照下表里的软件包版本,别去找 8.4.27。

逐个版本

发行版本状态修复包安全公告
26.10 (stonking)已有修复包Ubuntu 自行反向移植,版本号不是上游的 8.5.12。php8.5 8.5.9-0ubuntu2.1USN-8948-12026-10-21
26.04 LTS (resolute)已有修复包php8.5 8.5.4-0ubuntu1.5USN-8948-12026-10-21
24.04 LTS (noble)已有修复包据称 changelog 中带有 CVE-2026-109618_109619.patch(二手来源 ma.ttias.be,未在一手来源核实)。php8.3 8.3.6-0ubuntu0.24.04.13USN-8948-12026-10-21
22.04 LTS (jammy)已有修复包php8.1 8.1.2-1ubuntu2.28USN-8948-12026-10-21
20.04 LTS (focal) ESM已有修复包需要 Ubuntu Pro(ESM)订阅。php7.4 7.4.3-4ubuntu2.29+esm5USN-8948-22026-10-21
18.04 LTS (bionic) ESM已有修复包需要 Ubuntu Pro(ESM)。php7.2 7.2.24-0ubuntu0.18.04.17+esm14USN-8948-22026-10-21
16.04 LTS (xenial) ESM已有修复包需要 Ubuntu Pro 外加 Legacy Support 附加服务。php7.0 7.0.33-0ubuntu0.16.04.16+esm22USN-8948-22026-10-21
14.04 LTS (trusty) ESM已有修复包需要 Ubuntu Pro 外加 Legacy Support 附加服务。php5 5.5.9+dfsg-1ubuntu4.29+esm18USN-8948-22026-10-21

确认修复已安装

apt changelog php8.3-fpm | grep -m1 -E 'CVE-2026-10961[89]'  # replace 8.3 with your php version; or: zgrep -m1 -E 'CVE-2026-10961[89]' /usr/share/doc/php8.3-fpm/changelog.Debian.gz

重启 PHP

安装软件包只会替换磁盘上的文件,已经在运行的 PHP 进程仍然用旧代码。

sudo systemctl restart php8.3-fpm && sudo systemctl restart apache2  # replace 8.3 with your version; USN gives no explicit restart note

我们读过的页面