TCPLab TCPLab

PHP 版本检测

检测站点对外暴露的 PHP 版本,并对照 CVE-2026-109618 与 CVE-2026-109619 的官方修复版本。每条结论都会给出原始依据 —— 「未知」也是合法结果。

多数站点会隐藏版本(关闭 expose_php,或前面有 CDN),因此「未知」是很常见、也合理的结果。只有在缺少响应头时,深度探测才有帮助。

CVE-2026-109618 与 CVE-2026-109619 的修复版本

两个可未授权远程代码执行的漏洞,CVSS v4.0 均为 9.2,于 2026-10-21 修复。任何低于本分支修复版本的发行版,在上游层面都受影响。

分支受影响区间修复版本状态
8.58.5.0 – 8.5.118.5.12受支持
8.48.4.0 – 8.4.268.4.27受支持
8.38.3.0 – 8.3.358.3.36受支持
8.28.2.0 – 8.2.348.2.352026-12-31 停止维护
≤ 8.15.4.0 – 8.1.x—无上游修复

数据来源: php.net

无法立即升级时

以下措施只能降低特定攻击路径的暴露面,不能把安装变安全。php.net 明确表示:升级是唯一的完整方案。

  • 将 memory_limit 设为 -1,优先通过 FPM pool 或 Apache 的 php_admin_value 设置,确保应用无法改回去。
  • 压低 post_max_size(无上传 8M,有上传 32M),并让 upload_max_filesize 小于它;同时在代理层限制请求体积。
  • 在 php.ini 或 pool 配置中设置 session.upload_progress.enabled=0,然后重启所有 worker —— ini_set() 与 .user.ini 生效太晚。
  • PHP 8.5 还需设置 fatal_error_backtraces=0,并重启所有 worker。
  • 用容器或 cgroup 内存限制作为可用性边界,不要使用 RLIMIT_AS / RLIMIT_DATA。

常见问题