uTLS 握手包长度填充漏洞可被GFW利用高效识别代理流量

继指纹泄露漏洞之后,用于模拟真实浏览器指纹的 uTLS 库被发现还存在另外一个严重漏洞。来自 acgdaily 的研究人员发现 uTLS 在模拟 Chrome/Edge 浏览器时 TLS 握手包长度填充(Padding)缺失。

当一个真实浏览器发送的 ClientHello 数据包长度小于 512 字节,浏览器会添加一段“填充(Padding)”数据,将包的大小强行撑到至少 512 字节,这样做的目的是防止部分防火墙和服务器拒绝数据包导致僵化。但 uTLS 在模拟时遗漏了“填充”这一步骤,导致其会发送一个在真实 Chrome 环境下“不可能存在”的小包。这让 GFW 仅需根据数据包的大小,就能断定该数据包是伪造的。此 BUG 会导致 UTLS Chrome 120 指纹纯被动识别。uTLS 官方已在 v1.8.2 版本中修复了此漏洞。

影响范围 (Chrome 120):2023.12 – 2026.01
影响范围 (Chrome 默认值):2023.12 – 2025.05

单独 Padding BUG,域名请求有 25% 的概率被识破,IP 直接连接有 50% 概率被识破。与此前的 ECH BUG 叠加以后的单个数据包识别概率为域名 62.5%, IP 75%。但是由于代理工具会持续产生大量连接,审查系统识别出用户流量的成功率几乎可以达到100%。

如果你在上次ECH BUG修复中更新过客户端那么此漏洞现在不会影响你,未更新的用户建议使用 Firefox 并停用 Chrome 指纹。

[消息等级 Level C2 · 简要]

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

*