我的 phpMyAdmin 受 PHP2Shell 影响吗?
如果为 phpMyAdmin 服务的 PHP 低于所在分支的修复版本,或者是 PHP 8.1 及更早、又没有发行版补丁,就受影响。PHP2Shell 是 PHP 本身的两个漏洞(CVE-2026-109618 和 CVE-2026-109619),和 phpMyAdmin 的版本无关。
phpMyAdmin 尤其要重视:它经常直接挂在公网地址上,而且紧挨着数据库。为它服务的 PHP 进程一旦被控制,它能连上的数据库账号和数据都可能泄露。很多服务器装好 phpMyAdmin 后就再没人管过,网站本身的 PHP 升级了,phpMyAdmin 用的那个 PHP 却可能还是旧的,所以要单独确认。
升级 phpMyAdmin 能修好 PHP2Shell 吗?
不能。phpMyAdmin 的新版本只改 phpMyAdmin 自己的代码,不改 PHP。phpMyAdmin 照样要保持最新,但 PHP2Shell 只能靠把 PHP 升级到修复版本或发行版的修复包来解决。
截至 2026年10月22日,我们没有找到 phpMyAdmin 官方关于 PHP2Shell 的说明。phpMyAdmin 新闻页最新一条仍是 5.2.3(2025 年 10 月 8 日),安全公告页也没有 2025 年之后的新公告。PHP2Shell 不是 phpMyAdmin 的漏洞,所以本来也不会有 phpMyAdmin 公告。
怎么查 phpMyAdmin 用的是哪个 PHP 版本?
打开 phpMyAdmin 首页,网站服务器(Web server)面板里会列出 PHP 版本,除非管理员隐藏了服务器信息。如果首页没有显示,可以在服务器上查看为 phpMyAdmin 服务的 PHP-FPM 版本,或者直接问主机商。
这一步很重要,因为 phpMyAdmin 不一定和你的网站用同一个 PHP:系统软件包用系统 PHP,面板安装的可能用面板里的某个 PHP,Docker 镜像自带 PHP。直接在 phpMyAdmin 里查,再填进 PHP2Shell 检测。更多查法见 查看 PHP 版本。
该升到哪个 PHP 版本?
PHP 8.2 及以上的任一修复版本都满足当前 phpMyAdmin 的要求。phpMyAdmin 下载页列出:
| phpMyAdmin | 状态 | PHP 要求 | 可选修复版本 |
|---|---|---|---|
| 5.2(5.2.3) | 稳定版,完整支持 | PHP 7.2 及以上 | 8.2.35 至 8.5.12 |
| 4.9 | 仅安全支持 | PHP 5.5 及以上 | 换成 5.2,并用修复后的 PHP |
| 6.0 | 开发中 | PHP 8.2 及以上 | 不用于生产 |
| 分支 | 首个修复版本 |
|---|---|
| PHP 8.2 | 8.2.35 |
| PHP 8.3 | 8.3.36 |
| PHP 8.4 | 8.4.27 |
| PHP 8.5 | 8.5.12 |
| 8.1 及更早 | 无新发行版(7.4、8.0、8.1 有官方源码补丁) |
5.2.3 的发布说明提到修复了 PHP 8.4、8.5 的弃用警告。如果 phpMyAdmin 跑在 PHP 7.4、8.0 或 8.1 上,这些分支没有官方新版本,见 PHP 停止维护版本。
phpMyAdmin 的 PHP 该由谁来升级?
| 安装方式 | 谁来升级 PHP | 指南 |
|---|---|---|
| 宝塔面板 | 你自己(软件商店更新) | 宝塔 PHP |
| 虚拟主机、cPanel | 主机商 | PHP2Shell 修复:工单模板 |
| 服务器上的系统软件包 | 你自己(系统 PHP) | Ubuntu 升级 PHP |
官方 phpmyadmin Docker 镜像 | 你自己(拉取新镜像) | Docker PHP 镜像 |
宝塔已发布修复,7.4、8.0、8.1 也有宝塔打包的修复版本。官方 phpmyadmin 镜像基于 Docker 官方 PHP 8.3 镜像,后者已更新到修复版本。Docker Hub 显示 phpmyadmin 各标签在 2026 年 10 月 21 日重新推送,但我们没有核实镜像里的 PHP。请用 docker compose pull 拉取、重建容器,再到首页确认 PHP 版本。
怎么判断 phpMyAdmin 或数据库是不是已经被入侵?
升级 PHP 只能挡住以后的攻击。重点检查:
- 数据库账号:“账户”(User accounts)标签里不认识的用户或新增权限。
- 数据库内容:多出来的表、触发器、事件,或网站表里新冒出的管理员。
- phpMyAdmin 目录:
config.inc.php被改动,或tmp、上传、保存目录里出现.php文件。 - 同服务器的其他网站:phpMyAdmin 往往和它们在同一台服务器上,也要一起查。
发现可疑情况,按 入侵自查清单 处理,再修改 phpMyAdmin 能连上的所有数据库密码。如果 phpMyAdmin 平时用不到,最稳妥的做法是用完就关掉,或者干脆卸载,需要时再临时开启。
WAF 或限制访问能保护 phpMyAdmin 吗?
能降低风险,但不是修复。只允许自己的 IP 访问、放到 VPN 后面,或在 PHP 之前加一层 Web 服务器认证。Cloudflare 表示其 WAF 能拦截已知攻击模式,但也看到攻击者在变换请求绕过拦截。PHP 官方的临时办法只能挡住特定路径,见 CVE-2026-109618 临时缓解,然后按 PHP2Shell 修复 升级 PHP。
phpMyAdmin 有登录密码,这样不就安全了吗?
不是。PHP2Shell 在 PHP 里,PHP 官方确认过至少一条在应用代码(包括 phpMyAdmin 登录)执行之前就能触达的攻击路径。在 Web 服务器或网络层限制访问能降低风险,真正的修复是升级 PHP。
宝塔装的 phpMyAdmin 也要管吗?
要。请在 phpMyAdmin 首页确认它实际使用的 PHP 版本,再在宝塔软件商店里把对应的 PHP 更新到修复版本。不用时可以关闭 phpMyAdmin 的公网访问。
来源
本页的核心事实(修复版本、CVE 详情、发行版软件包、官方机构的提醒)都来自官方来源;研究报告、新闻和社区讨论已分别标注。
- Security advisory: Critical remote code execution vulnerabilities, update now官方 The PHP Group
- RCE via OOM corruption官方 The PHP Group
- RCE via stale global state官方 The PHP Group
- [security] Update to 8.5.12, 8.4.27, 8.3.36, 8.2.35厂商 Docker Official Images maintainers
- docker compose pull官方 Docker
- Cloudflare deploys protections against php2shell vulnerabilityCDN 厂商 Cloudflare
- PHP 与 Node.js 紧急安全更新公告厂商 宝塔
- 官方 phpMyAdmin project
- Downloads (version support table)官方 phpMyAdmin project
- phpMyAdmin 5.2.3 is released官方 phpMyAdmin project
- phpMyAdmin security announcements厂商 phpMyAdmin