PHP 爆了个 9.2 分的洞,我把 Z-Blog 站的处置流程捋了一遍
早上看到 PHP 核心出洞的消息,我第一反应是打开后台看版本号,不是转发链接。两个漏洞,评分 9.2,不用登录就能远程执行代码,影响范围能追到 PHP 5.4。 这洞到底怎么回事 公开报道里的说法是,安全公司 Calif 用 OpenAI
早上看到 PHP 核心出洞的消息,我第一反应是打开后台看版本号,不是转发链接。两个漏洞,评分 9.2,不用登录就能远程执行代码,影响范围能追到 PHP 5.4。
这洞到底怎么回事
公开报道里的说法是,安全公司 Calif 用 OpenAI 的模型跑出来的,Wiz 那边独立发现并提交。工具叫 PHP2Shell,演示视频在正式披露前就流出来了。这种事一泄漏,等于提前给攻击者发通知。
危害是内存泄露加未授权 RCE。落到实际站点上就两件事:服务器被人拿走,或者数据库密码、会话令牌、API key 被读走。PHP 撑着全球七成左右的站点,WordPress、Drupal、MediaWiki 都在里面。
修复版本 PHP 基金会已经发了:8.5.12、8.4.27、8.3.36、8.2.35。这几个号我是照报道抄的,你升之前去 php.net 的发布页核一眼,别只信我。
Z-Blog 站怎么自查
后台首页的系统信息里就有 PHP 版本。找不到的话翻 zb_users/logs 里最近的日志,环境信息一般也在里面。
PHP 8.2.30 → 没到 8.2.35,未修复 PHP 8.3.36 → 到位
对照小版本号就行,低于上面那几个、又还在同一个分支,就是没修。
然后顺手把 zb_users 目录翻一遍,看有没有最近凭空多出来的 php 文件。这种洞利用完通常会留后门,光升级不清扫,等于做事做一半。
升不上去的时候
面板能切版本就切。宝塔、aaPanel 都是点两下的事,比在系统里编译省心得多,我本地一直这么干。
主机商卡着不给升、站点又不是非开不可,那就先挂维护页。芬兰政府的公共网上服务、荷兰网络安全机构、荷兰下议院、爱丁堡市议会都把站点先下线了,多数是预防性的,没确认被攻击。下不去手的原因是怕掉流量,这个我理解,但泄露令牌之后再补是两码事。
还有个容易漏的点:PHP 8.1 及更早的分支早就不维护了,没有官方补丁。这类站点没有「打个补丁先顶着」的选项,只有升级一条路。
这次我没看到什么正经的临时缓解方案。官方口径就是没有完整缓解措施,唯一安全做法是升级。这话不是我的判断。
我的建议
别等。