Clash 远程命令执行漏洞,有主机上线!

2022-02-25 17:03:30 +08:00
 Akiio

https://github.com/Fndroid/clash_for_windows_pkg/issues/2710

详细看 issue

10140 次点击
所在节点    信息安全
42 条回复
butanediol2d
2022-02-25 17:16:27 +08:00
这是 Clash for Windows 的漏洞,不是 Clash 的漏洞。
yiXu
2022-02-25 17:20:44 +08:00
最新版已修复,而且漏洞应该只在 0.19.8
yiXu
2022-02-25 17:28:19 +08:00
重新验证了下,0.19.5 可复现 issue 调用计算器。。。
IceBay
2022-02-25 17:30:50 +08:00
自己搭的看了之后选择无视
Jooooooooo
2022-02-25 17:41:48 +08:00
这种漏洞有没有什么办法尽可能避免呢...

一个 name 明明就是展示字符串, 居然还能执行命令.
WeiYuanStudio
2022-02-25 17:47:52 +08:00
佩服,订阅可以投毒了
gadfly3173
2022-02-25 17:51:09 +08:00
@Jooooooooo #5
1. 外部输入尽量走 escape ,比如 vue 自带的模板标签{{}}
2. browserwindow 启用 sandbox

显然作者偷懒,两个都没做
noyle
2022-02-25 17:51:57 +08:00
https://github.com/Fndroid/clash_for_windows_pkg/issues/2710#issuecomment-1050689930

教辅:屑是一个新时代的贬义词,指一个人或事物很垃圾,很废物。
via https://baike.baidu.com/item/%E5%B1%91/55729420
Jooooooooo
2022-02-25 17:53:38 +08:00
@gadfly3173 不太懂这个. 不过难道没有纯 string 这种结构吗?
gadfly3173
2022-02-25 17:59:59 +08:00
@Jooooooooo #9 理论上对于 html 和 js 来说,精心构造的字符串插入页面可以绕过作者本身预期的行为,毕竟是运行时的语言。类似的就是 sql 注入。因此需要对用户输入进行转义。当然转义也可能有某些未被发现的边界情况,不过要绕过这种已经很困难了。
fndroid
2022-02-25 18:02:08 +08:00
@gadfly3173

接受批评,但这个问题和沙盒无关,因为用 img 加载了 twitter emoji 没用 textContent 处理,确实是我的问题
Jooooooooo
2022-02-25 18:03:25 +08:00
@gadfly3173 至少我知道的, 在 java 里的 mybatis 框架中, 就有纯 string 这种概念, 拿到的串只有字符含义, 没有任何执行含义, 不可能发生注入.

类似这里, 本身就是个 name, 完全没有执行代码的业务可能, 赋予一个传啥展示啥的 string 含义也合理吧(我理解语言框架层面也应该去支持类似的逻辑功能)
gadfly3173
2022-02-25 18:10:00 +08:00
@fndroid #11 启用 sandbox 的话应该是可以避免 child_process 的调用的吧,至少可以减少影响
gadfly3173
2022-02-25 18:11:32 +08:00
@Jooooooooo #12 是的 这些都是有解决方案的,当然和 mybatis 的#{}一样,都需要去手动处理
cozof
2022-02-25 18:33:16 +08:00
这标题,梦回灰鸽子。
Akiio
2022-02-25 18:41:09 +08:00
@butanediol2d 哈哈哈哈,标题党不嫌事大。
@cozof 确实,可以一键上线了
mxT52CRuqR6o5
2022-02-25 20:02:06 +08:00
@gadfly3173
要是我自用的 electron 项目肯定不开 sandbox ,启用 sandbox 开发起来麻烦的不是一点半点,要是有 electron 的 node 模块一体化调用框架就好了
gadfly3173
2022-02-25 20:10:39 +08:00
@mxT52CRuqR6o5 阿这,官方推荐还是渲染进程和主进程各干各的,不给渲染进程直接操作 node 的权利。这样也比较有分层的感觉,javaboy 还挺喜欢
d5
2022-02-25 20:28:10 +08:00
梦回 灰鸽子 +1
wangyu17455
2022-02-25 20:59:07 +08:00
然而我是直接用 clash 核心的 23333

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/836433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX