在 Ondrej Sury PPA / deb.sury.org 上修复 PHP2Shell

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

逐个版本

发行版本状态修复包安全公告
ppa:ondrej/php noble and jammy已有修复包14:45Z 发布。已查 Launchpad API,arm64 二进制的状态未核实。据称 7.4 -31 的 changelog 带有 Avoid-state-corruption-via-bailout 补丁(二手来源 ma.ttias.be);8.1/8.0 的 changelog 未核实。8.5.12-1, 8.4.27-1, 8.3.36-1, 8.2.35-1, 8.1.34-9, 1:8.0.30-25, 1:7.4.33-31 (each with +ubuntu24.04.1+deb.sury.org+1 or +ubuntu22.04.1+deb.sury.org+1)–2026-10-21
packages.sury.org/php amd64 (trixie, bookworm, bullseye)已有修复包显示的构建后缀是 trixie 的。其他套件的上游版本相同,后缀各自不同。php8.5-fpm 8.5.12-1+0~20261021.27+debian13~1.gbp1a3e8a; php8.4-fpm 8.4.27-1+0~20261021.57+debian13~1.gbp7636b9; php8.3-fpm 8.3.36-1+0~20261021.88+debian13~1.gbp250f7c; php8.2-fpm 8.2.35-1+0~20261021.94+debian13~1.gbp8bff78–2026-10-21
packages.sury.org/php arm64暂无修复索引仍显示 202609xx 构建的 8.2.34、8.3.35、8.4.26、8.5.11。––

确认修复已安装

apt changelog php8.4-fpm | grep -m1 -E 'CVE-2026-10961[89]|Avoid-state-corruption'  # sury changelogs may not name the CVEs; also check version >= 8.4.27 etc.

重启 PHP

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

sudo systemctl restart php8.4-fpm && sudo systemctl restart apache2

如果你的版本还没有修复

关注你所用版本的安全公告,更新一出来就当天安装。在那之前,先判断页面列出了官方给出的临时措施。如果你的版本已经停止支持,请看旧版本的出路。

我们读过的页面