SIG 5119 4088 字 约 11 分钟 建站实战 / 建站雷达

建站雷达(10.19–10.21):PHP 今晚补两个 9.2,证书私钥只有个位数

这三天没有哪件事能靠装插件解决。PHP 本体两个 9.2 的洞今晚才补;一张印度 CA 的中间证书私钥小到能逐个试出来;一个备份插件的远程密钥被人拿去推后门;还有主机商的命令行工具在 GitHub 上被换了五个安装包。四件都在你网站的下层。

PHP:今晚 22 点,两个 9.2 一起发(10 月 20–21 日)

10 月 20 日,PHP 安全团队发了一段很短的预警:10 月 21 日 14:00 UTC 发安全版本,修两个 critical 漏洞,都是 CVSS v4.0 9.2。当天上午细节在 Hacker News 外泄,帖子被删时截图已经传开;watchTowr 确认两个洞是真的。PHP 把发布日从原定周四提前一天,14:00 UTC 换成北京时间就是今晚 22 点。

流出来的工具自称 PHP2Shell,宣称 PHP 5.4 起全都中招;受影响分支与修复版本要等补丁一起公布。

洞在 PHP 本身,改代码改不到,只能动服务器上的解释器;共享主机得等主机商动手。Sansec 判断发布后十五分钟就会有人开始扫。8.1 及更早没有官方补丁,只能考虑隔离或迁移。

左栏列出已经确定的四项:两处远程代码执行、CVSS 4.0 都是 9.2、10 月 20 日细节外泄、10 月 21 日 22 点发补丁;右栏列出尚未公布的四项:影响哪些分支、要不要改配置、入口是哪个函数、8.1 及更早没有补丁
官方说死的,与还没说的。(图解与图片来源:本文制作,依据 PHP 官方公告)

eMudhra:八张中间证书的私钥,取值是 4 到 237 的整数(10 月 19–20 日)

10 月 17 日 20:06 UTC,只署名 Wayne 的研究员给各大根证书计划发了同一句话:「我们这里出问题了」,并用八把私钥分别签了名。八张都属于印度 CA eMudhra 的 emSign 体系,六张签 TLS 证书,两张签代码。

问题出在私钥本身。P-384 本该有 384 位随机性,这八把取值只有 4、56、66、115、156、230、237 这样的整数,全都小于 256——不用破解,从公开证书里挑候选值逐个试就行。

封禁跑得很快。Chrome 18:05 收到,19:45 推完 CRLSet,按公钥哈希封,Sectigo 交叉签名的副本一并拦下;Firefox 22:59 完成 OneCRL 推送。Go 那边慢一截:验证器不查吊销也不读浏览器黑名单,只能把八个哈希写死进 crypto/x509,10 月 19 日发 1.27.3 与 1.26.10(CVE-2026-111943),装完还得重新编译。

最实在的一条在后面:Chrome 决定 10 月 27 日把签发这批中间证书的 emSign ECC Root CA – G3 移出根证书库,链到这条根的正常证书到时在 Chrome 里直接不被信任。eMudhra 说这批证书只有一张进过生产环境、都没签发过终端证书,CT 日志也印证了。

左栏是浏览器封禁的时间:Chrome 1 小时 40 分封完、Firefox 不到 3 小时推完、苹果 10 月 19 日、微软 10 月 20 日;右栏是需要自己动手的软件:Go 升 1.27.3 再重新编译、Python 换 certifi 2026.10.19、Rust 换 webpki-roots 1.0.10、链到这条根的要换证书
浏览器两小时封完,不读吊销表的软件得各自发版。(图解与图片来源:本文制作,依据 Google 安全博客与 Mozilla 说明)

UpdraftCentral:钥匙被偷了,后门插件自己装进来(10 月 19 日)

TeamUpdraft 10 月 19 日承认,17 到 18 日那个周末有人进了 teamupdraft.com,客户库很可能被读走,里面有 UpdraftCentral 等服务的连接密钥。UpdraftPlus 装量四百万以上,约一成的站持有这把钥匙。

最难受的是下一步。攻击者拿真钥匙发一条 plugin.upload_plugin,签名对、加密对、走 WordPress 自带安装器,插件装上就激活。站点没漏洞,WordPress 是 7.1.3,插件最新,安全插件照样放行——从站点角度看,这条命令确实来自它信任的面板。Nethemba 自己三个站里两个中招,日志里找不出别的异常。

后门也绕开常规检查:URL 带一个 32 位 token 就建一个编辑账号,再单独给它管理选项和装插件权限,直接写登录 cookie 把人送进后台,登录表单、二次验证、次数限制全跑不到。账号显示为编辑,只翻管理员会漏。Patchstack 头 18 小时数到 99 个不同名字的恶意插件。

当天发的 1.26.12 有 bug,一把钥匙都没删掉;当晚补的 1.26.13 / 2.26.13 才真把旧连接断开。钥匙存在每个站自己的 updraft_central_localkeys 里,从面板移除站点不会删,只能逐站手清。

左栏说明为什么拦不住:密钥是真的、签名是真的、走 WordPress 标准安装器、安全插件看不出差别;右栏是每个站要自己做的四步:进设置里的高级工具页、删 UpdraftCentral 连接密钥、翻一遍编辑角色账号、1.26.13 才真删得掉
命令为什么算合法,钥匙为什么只能一站站地删。(图解与图片来源:本文制作,依据 TeamUpdraft 与 Patchstack 说明)

OVHcloud CLI:五个版本的安装包被换过(10 月 19 日)

10 月 19 日 14:47,OVHcloud 的命令行工具在 GitHub 上出现一份被换过的安装包,16:21 有客户报告后撤下,前后 94 分钟。被改的是 v0.11.0 到 v0.15.0,v0.10.0 与随后的 v0.16.0 干净。它只做一件事:把磁盘上的密钥翻出来。源码编译和 Docker 镜像不受影响。

能改是因为仓库没开 GitHub 的 release immutability,有权限的账号可直接覆盖已发布产物,整套 CI 一步都没跑。入口是一名开发者的 GitHub 账号,据 OpenSourceMalware 判断已被控制半年以上,与 GlassWorm 手法一致。

OVHcloud 已宣布事件结束,但对跑过那五个版本的人,结论只有一个:盘上的秘密全部作废重发。

这几天你可以做什么

今晚 22 点盯住 PHP 的版本号。 先把「谁负责 PHP」落到具体的人,再把对外的 PHP 主机列成一张表,用共享主机的把工单提前开给服务商。补丁一出就升,8.1 及更早的先定是隔离还是搬走。

打开 UpdraftPlus 的设置页,把 UpdraftCentral 的密钥删掉。 升到 1.26.13 / 2.26.13 之后仍要手删,删完按编辑角色把所有账号过一遍。

10 月 19 日装过 OVHcloud CLI 的,把机器上的密钥全换掉。 盘上放着的 token、SSH key、.env 一起算。

附:本文信息来源

一、一手信息

二、媒体报道

其他

  • eMudhra 官网的事件更新声明
  • Mozilla dev-security-policy 邮件列表里关于中间证书撤销的讨论串
  • Dennis Jackson 维护的 eMudhra 中间证书事件页(含八把私钥的签名证据)
  • OpenSourceMalware 关于 OVHcloud CLI 与 GlassWorm 关联的分析

原创声明:本文由 618A 情报站整理撰写,基于公开信息与实测记录,转载请注明出处并保留原文链接。

上一篇 AI 快讯(10.19–10.20):联邦机构开拆 DeepSeek,OpenAI 抢在对手上市前融资
下一篇 硬件雷达(10.19–10.21):内存一周再涨一成半,AMD 把 FSR 塞进五年前的老卡