Xray-core v26.10.21 紧急安全更新:印度证书事件与 v26.10.10、v26.10.17 撤版说明
Xray-core 官方本周发布了 v26.10.21 紧急安全更新,起因是证书信任库出事:印度八张中间证书的私钥因为"过于简单"被破解,官方把这个版本的内置 RootCAs 依赖库里的问题根证书移除,并明确撤下了之前发布的 v26.10.10 和 v26.10.17。还在用这两个版本的人,应该尽快升到 v26.10.21。
官方原话
v26.10.21 的 release notes 只有一段话,原文如下:
紧急安全更新:由于前几天印度八张中间证书的私钥因过于简单而被破解,本版本内置的 RootCAs 依赖库移除了三张根证书(v26.10.10、v26.10.17 内置有这些证书,已被撤版),并使用 Go 1.27.3 编译以确保即使操作系统 CA 库未更新也会过滤掉问题证书,用户应尽快升级到该版本,月底发 stable release(操作系统的 CA 库可能更新较慢,所以要覆盖掉上一个 latest)。
信息量很大,拆开说:
- 出问题的不是 Xray 本身,而是它内置的根证书库。印度八张中间证书的私钥被破解,意味着攻击者可能用这些证书签发"合法"的假证书。Xray 的出站 TLS 校验依赖内置根证书,所以这次是直接动根证书库。
- v26.10.10、v26.10.17 这两个版本都被撤版了,因为它们内置了问题证书。如果你用官方安装脚本装过这两个版本,相当于信任库里装着已泄露的根。
- v26.10.21 用 Go 1.27.3 编译,并且带了过滤逻辑——即使你服务器操作系统的 CA 库还没更新,这个版本也会把问题证书过滤掉。官方把这个版本直接设为 latest 覆盖了上一版。
哪些人要立刻处理
- 用 XTLS 官方安装脚本装的 Xray,且当前版本是 v26.10.10 或 v26.10.17 的,建议立刻升级。
- 3x-ui 用户特别注意:3x-ui 的上一稳定版 v3.10.2 在 Requirements 里明确写着捆绑 Xray-core v26.10.10,正好是被撤版的那一个;还在用 v3.10.2 的用户,面板里升级内核或手动升级 Xray-core 时,目标版本选 v26.10.21(来源:3x-ui releases 页)。10 月 25 日发布的 v3.11.0 已捆绑 Xray-core v26.10.21,升到 v3.11.0 的用户已不受此问题影响。
社区里也有人在讨论这件事,V2EX 信息安全节点的帖子 据听说阿三泄露了几个根证书 就是同一事件。
升级方法
用官方一键脚本的用户,直接跑官方脚本的 install 命令升级到最新版:
1 | bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install |
升级前可以先确认当前版本:
1 | /usr/local/bin/xray version |
跑完之后重启服务使新版本生效(官方脚本一般会自动处理服务重启,如果没自动重启,再手动 systemctl restart xray)。
升级完成后,之前内置在被撤版内核里的问题根证书会被新版本的过滤逻辑排除,不再被信任。
依据与来源
本文依据以下官方与社区来源整理,技术细节均来自原文,未做推断:
- Xray-core v26.10.21 发布页(含官方原话):https://github.com/XTLS/Xray-core/releases/tag/v26.10.21
- 3x-ui releases 页(v3.10.2 捆绑 Xray-core v26.10.10):https://github.com/MHSanaei/3x-ui/releases
- Xray-install 官方脚本用法:https://github.com/XTLS/Xray-install
- V2EX 同一事件讨论帖:https://v2ex.com/t/1250721
注:升级命令为官方脚本标准用法,本文作者未在本地实测;涉及面板(3x-ui 等)内升级内核的入口因版本而异,请以面板实际界面为准。