【注意!】V2RAY近期被爆存在数个严重漏洞

正文索引 [隐藏]

前言

这件事发生在六月份,我也是昨天才看到...主要是针对v2ray在v4.23.2 前潜在的特征识别风险,各种传V2ray出现重大漏洞,GFW可以精准识别。

(现在发不知道晚了没...)

此漏洞仅针对V2RAY 4.23.2前的版本以及vmess+tcp/http伪装。

V2ray 项目组针对这一漏洞立刻在一周之内连推出了两个小版本更新

4.23.3中修复了vmess协议设计和实现缺陷可导致服务器遭到主动探测特征识别

4.23.4中进一步修复了 Vmess协议 和 伪装HTTP头的漏洞

解决方案

请更新您的v2ray(服务端的v2ray-core 不是你的客户端)至4.23.2及以上的版本,执行以下语句。

bash <(curl -L -s https://install.direct/go.sh)
service v2ray restart
  • 可以使用
    如果你已经升级到 V2Ray v4.23.4,并且没有开启 TLS 的 AllowInsecure 选项,以下配置组合不会泄露识别信息:

VMess over Websocket with TLS
VMess over TLS
VMess over HTTP/2 (使用 TLS 的 HTTP/2,并非 h2c)
Shadowsocks(AEAD) over Websocket with TLS

  • 谨慎使用
    以下配置组合可能会在攻击者位于网络路径上时可能会使攻击者获得的协议数据的一些统计学属性,但是这些信息不足以用于确定服务器上部署了这些协议

VMess over TCP (还在继续改进中)

  • 并不建议
    以下配置组合不建议用于穿越被攻击者控制的网络:

任何协议 + SOCKS5
任何协议 + HTTP 代理
任何协议 + HTTP 伪装
任何协议 + mKCP + 任何伪装

(此前有一种说法是开启allowInsecure或allowInsecureCiphers可以避免这个问题或更安全,在新版本v2ray中已经不需要这个设置了,另外"allowInsecure"和"allowInsecureCiphers"也是两个不同的配置,v2rayN(也就是windows的客户端)当前没有“allowInsecureCiphers”的配置选项,也不需要了,因为在v2ray v4.23.2版本或以上版本中,allowInsecureCiphers已经相当于默认设置为true)

另外的话用户不用担心V2ray会凉凉,作为一个开源项目立项至今已经很多年了,一直处于有人维护的状态,而当前的漏洞并不是被检测后出现,而是早就已经存在的漏洞,但是并不影响使用也没有因此被检测,所以就没有进行修复,不用过度担心相关问题,v2ray的更新肯定是快于检测技术的,而且迄今为止这个漏洞也并没有被应用至GFW的检测技术上。

(最后推荐ws+tls+cdn 这方法理论上来说是最稳定的)

漏洞来源

原因为在V2ray项目形成初期(2017~2018年),网络流量审查防火墙机制并未迭代至目前带有回放探测机制的级别。VMess 的实现过于注重性能,未能考虑停止读取和关闭连接会泄露协议处理分支走向的问题。(引用自Github)

由p4gefau1t的一个issue(v2ray的TLS流量可被简单特征码匹配精准识别)引发,后连续发了两个issue,都是由于起初的设计缘由可导致服务器遭到主动探测特征识别。issue里也附了POC,网友也复现了这个问题。

注意,请无相关知识和开发经验的用户不要随意猜测,篡改文意并四处传播。

相关issue地址: