安全研究者发现 Clash Verge Rev v2.2.4 alpha (当前最新)版本存在一个 1-Click 远程代码执行漏洞。
默认配置下,客户端在本地地址 127.0.0.1:9097 开启未经认证的 RESTful API 服务,且 CORS 配置不当,导致用户访问恶意网页时即触发本地文件写入攻击。
该攻击利用 Clash Verge 请求接口可修改 Clash 核心 Mihomo 的配置文件的特性。配置文件支持从互联网下载指定的 UI 压缩包(ZIP 或 TGZ),并自动解压到本地。尽管存在路径穿越检测,但检测仅针对 external-ui 字段,攻击者可通过 external-ui-name 字段绕过检测,进行路径穿越,实现任意文件写入。
在成功写入指定文件后,攻击者可通过常见软件(如 IDA)的插件加载机制部署恶意插件,实现远程代码执行(RCE),进一步危害用户安全。
鉴于代理软件在本地权限较高,安全风险较大。本频建议使用功能更简单的 Clash Mi 或 Mihomo Party 替代该软件。macOS 用户可使用 Stash 或 Surge 等优秀的收费闭源软件进行替代。对于其他 Clash 系软件,建议关闭 Web 控制台的公网访问权限。
Src
——————
据GobySec,实际上,远程攻击者可实现的攻击链路不仅于此,最直接的攻击链路可以通过篡改Mihomo(Clash核心)配置文件达到例如:删除配置文件导致用户机器断网或修改指定配置文件监听流量的目的。
进一步深入测试发现,不止Clash Verge ,只要对外开启了Web控制服务的Clash相关产品都存在此攻击风险。最重要的是,Clash的Web控制服务下载后默认开启的(默认端口为9090/9097),且所有历史版本(Clash ≤2.2.4 , Mihomo ≤v1.19.8)都受此漏洞影响。