# Apache 上跑着 PHP 7.4 的老站，php2shell 官方不出新版了，迁完之前大家都在干嘛

**URL:** <https://www.shiqidu.com/t/topic/1820>\
**Category:** 开发调优\
**Tags:** PHP, 服务器, 信息安全\
**Created:** [2026 年10 月 28 日 02:52 UTC](https://www.shiqidu.com/t/topic/1820 "2026-10-28T02:52:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![shiqidu\_editor](https://www.shiqidu.com/user_avatar/www.shiqidu.com/shiqidu_editor/32/528_2.png) [@shiqidu\_editor](https://www.shiqidu.com/u/shiqidu_editor)\
发布日期： [2026 年10 月 28 日 02:52 UTC](https://www.shiqidu.com/t/topic/1820/1 "2026-10-28T02:52:44Z")

</div>

10 月 21 号 PHP 一口气发了 8.5.12、8.4.27、8.3.36、8.2.35 四个版本，修的是 CVE-2026-109618 和 CVE-2026-109619，就是外面叫 php2shell 的那两个，未认证远程代码执行，发布前一天的预告里写的是 CVSS v4.0 9.2。这事要是落在 8.3、8.4 上，升个小版本、重启一下就完了。麻烦的是那种谁都不敢碰的老站：7.4 写的，扩展一堆，作者早就离职，迁移排期写在明年。

官方公告里有句话挺不客气的：There are no complete mitigations, updating is the only safe choice. 没有完整缓解，升级是唯一安全的选择。所以下面说的都只是迁移前少挨点打的办法，不是解决方案。

## 版本这块别搞错

- 修复版就是上面那四个。8.1 以及更早的版本，PHP 项目已经不再给更新了。
- 不过这次因为太严重，安全团队给 7.4、8.0、8.1 放了最小化的源码回移补丁，给自己从源码编译、又没有 LTS 厂商的人用。用发行版包的，去问发行版或者 LTS 厂商有没有回移，别自己猜。
- 影响面是所有处理 Web 请求的 PHP：PHP-FPM、Apache mod\_php、php-cgi，还有 FrankenPHP、LiteSpeed。官方认为 mod\_php 风险最高。别以为换成 FPM 就没事。
- CISA 已经在 10 月 26 日把这两个 CVE 收进 KEV 目录，也就是确认有在野利用。

顺手提一句，8.2 虽然这次有补丁，但[支持版本表](https://www.php.net/supported-versions.php)上它的安全支持只到 2026 年 12 月 31 日，还剩两个月。要迁的话直接往 8.3 以上迁，别迁到 8.2 再迁一次。

## 升不了的这段时间

CISA 的[告警](https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching)对这种情况的建议是：升不了的，或者还在用 8.1 及更早不受支持版本的，先把 PHP 系统下线，等补上再说。很多人第一反应是不可能，但真去问业务方，有的后台一周也没几个人登录，先关掉或者只允许内网访问，没那么难谈。

实在关不了，下面这些能做一点算一点：

- 先盘点：机器上 `php -v` 只是起点，宝塔这类面板、Docker 镜像、某些商业软件里打包的 PHP 都算。CISA 也提了 PHP 经常藏在别的软件里面，不一定看得出来。
- 先处理公网的：内网工具往后排，挂在公网上的老站优先升级、迁移或者收口。
- WAF 只能挡一部分，CISA 的原话是 may provide some protection，别指望它兜底。
- 盯进程：PHP worker 去拉起 shell、下载工具，这种行为要有告警。CISA 告警里还给了 SIGMA 检测规则，可以对着自己的日志源看看能不能用上。
- 临时配置：[PHP 的安全公告](https://www.php.net/archive/2026.php)里给了几条针对具体攻击路径的配置，比如调内存上限、压低 `post_max_size`、关掉 session 上传进度。官方自己也说，这些只能缩小暴露面，版本里的洞该在还在。

## 那个 session.upload\_progress

10 月 23 号官方又补了一份 informational advisory，[oss-security 上也转了](https://www.openwall.com/lists/oss-security/2026/10/23/23)，对应 CVE-2026-115560，建议下一个常规 bugfix 版本出来之前先这么设：

```ini
session.upload_progress.enabled = 0

```

这一项正式修复还没发，官方说会跟下一个常规版本一起出完整公告。触发条件比较偏，需要特定的 serialize handler 配置再加运行时切换，官方自己也说实际中不太可能遇到。但这个开关本来就在 CVE-2026-109619 的缓解列表里，老站多半用不到上传进度，关掉基本没成本。注意要写在 `php.ini`、FPM pool 或者服务器配置里，别用 `ini_set()` 或者 FPM 的 `.user.ini`，改完把所有 worker 都重启。

Windows 上用 PHP 的还有一件事：10 月 26 号官方重打了带 `-1` 后缀的 Windows 包，修的是 Brotli 的 CVE-2026-111497，开了 cURL 自动解压才会碰到。这个洞 Node 那边也中了，[之前那篇 Node 18 Brotli 的帖子](https://www.shiqidu.com/t/topic/1816)里有讨论。

想问问手上也有 7.4/8.0 老站的，你们是自己打官方的回移补丁，还是走发行版或 LTS 厂商，还是干脆借这次把迁移排期往前挪了？
