10 月 21 日,PHP 放出 8.5.12、8.4.27、8.3.36、8.2.35。补丁连夜赶出来,因为细节在备好前就泄露了。
两个洞都在最底层,比网站自己的代码更早运行。一个藏在内存耗尽后的清理里:嵌套深的数据让它清理不干净,留下的残缺数据被当正常数据用,就可能被塞进不该有的内容。另一个是错误状态没释放干净,被下一个请求接住。
这意味着登录验证、输入检查、防火墙规则这些平时管用的东西,在它面前全部失效。从 5.4 以来,几乎没有哪个版本能幸免。
不过严重和容易是两回事。实测下来,两个漏洞都不是发几个请求能撞上的,往往要几千上万次才稳定。那几千个 PoC,Elias Taylor 逐个看过,没有一个能在原生 PHP 上跑通——公开十小时后仍无可用 exploit,它们大多出自语言模型。
让人感慨的是它的来历。2024 年 PHP 第一次做外部安全审计时,开发者就注意到内存这块不对劲。但没人能拍板:有的方案破坏兼容,有的要动大批协调不动的扩展。共识制团队遇上这种取舍,最常见的处理就是先放着——一放两年。
AI 也掺和其中。它把“发现异常”到“证明可利用”的时间压缩了;也产出成堆跑不通的 PoC,真消息混在假消息里,反倒更难分辨。
能做的只有一件:升到修复版本再重启进程,不然跑的还是旧的。8.1 及更早已停止支持,只能迁到受支持的分支或等发行版回补。

运营商的一天
当然对小站的我们,使用的虚拟服务或云服务,都由服务商解决这些问题,我们只是做好自己的网站的安全就好了。
发表评论
登录后即可发表评论