PHP版本控制漏洞并非可举报的安全问题,而是因配置不当(如暴露phpinfo、版本号)导致的风险,需立即升级PHP并修复配置,而非向官方举报。

PHP 版本控制漏洞本身不是可“举报”的安全问题,而是你正在使用的 PHP 版本存在已知安全漏洞——你需要升级,而不是举报。
为什么不能“举报” PHP 版本控制漏洞
所谓“PHP 版本控制漏洞”,通常指:phpinfo() 泄露、.git 目录未屏蔽、composer.lock 暴露、或通过 PHP_VERSION 等常量/函数暴露版本号后被用于针对性攻击。这些不是 PHP 官方的漏洞,而是你部署时配置不当或代码疏忽导致的风险暴露。
真正需要上报的是:你发现 PHP 解释器自身(如 Zend 引擎、OPcache、cURL 扩展等)存在未公开的远程代码执行、内存破坏类 0day。这种情况才走官方漏洞披露流程。
- PHP 官方不接受对旧版本不升级、不打补丁这类“问题”的举报
- 暴露
PHP_VERSION或phpinfo()页面,属于应用层配置失误,责任在开发者或运维 - GitHub 上 fork 的 PHP 项目若含漏洞,应向该项目维护者报告,而非 PHP 官方
发现 PHP 自身未公开高危漏洞,怎么报给官方
仅适用于你确认发现了 PHP 解释器(非扩展、非框架)的全新、未披露、可复现的安全缺陷。
立即学习“PHP免费学习笔记(深入)”;
- 邮件发送至
security@php.net,主题写明 CVE 类型(如 RCE、DoS),正文包含复现环境(PHP 版本、编译参数、OS)、最小 PoC 代码、预期与实际行为 - 不要公开披露(发 GitHub Issue、推特、微信群),必须先私密通知
- PHP 安全团队收到后会回复并协调 CVE 编号;一般 30–90 天内发布修复版本
- 确认是否属于范围:PHP 官方只管核心(
Zend/,main/,ext/standard/等),不包括ext/redis、ext/mongodb等第三方扩展
你的网站暴露了 PHP 版本号,现在该做什么
这是最常见也最容易被误认为“要举报”的场景。实际上,这是立刻要改的线上风险。
- 禁用
expose_php = On:在php.ini中设为Off,重启 PHP-FPM 或 Apache - 删除或限制访问
phpinfo.php—— 生产环境绝不允许存在 - 检查 Web 根目录下是否残留
.git/、.env、composer.lock,用location ~ /\.(git|env|lock) { deny all; }(Nginx)或.htaccess屏蔽 - 用
curl -I https://yoursite.com看响应头是否还含X-Powered-By: PHP/8.1.23,如有,加header('X-Powered-By: ');或 Nginx 的fastcgi_hide_header X-Powered-By;
第三方组件(如 Laravel、WordPress)里的 PHP 相关漏洞,该找谁
这不是 PHP 官方的问题,而是具体项目的维护方责任。
- Laravel 漏洞 → 提交到
https://github.com/laravel/framework/security - WordPress 核心 → 报给
security@wordpress.org - Composer 包漏洞 → 查包主页的
SECURITY.md或 GitHub Issues 中带securitylabel 的模板 - 不确定归属?用
composer audit(Composer 2.5+)或php -m确认实际加载的扩展名,再查对应源码仓库
真正的难点从来不在“怎么举报”,而在于区分清楚:是 PHP 解释器缺陷、扩展 bug、框架逻辑漏洞,还是你自己的配置裸奔。多数情况下,删掉 phpinfo()、关掉 expose_php、升级到 php -v 显示的最新稳定版,就已经堵住了 90% 的所谓“版本控制漏洞”入口。











