尤雨溪回应 SonarQube 和 Vue 的漏洞

3755

今天,网络上流传着一张图片,图片主要内容为境外黑客组织利用“声呐方块”(SonarQube,软件源代码管理平台)及VueJS(用于构建用户界面的软件开发框架)对党政机关和重要企事业单位实施网络攻击探测,要求各地排查系统中使用SonarQube和VueJS的情况,有使用SonarQube的,采用其它可替代多的平台管理源代码;有使用VueJS的,如暂时无法替代,建议加强安全检测,做好应急处置预案。

针对此情况,Vue作者尤雨溪发表了《关于近日涉及 SonarQube 和 Vue 的漏洞通知》作为回应。

情况究竟如何?先说结论:Vue近期并没有收到漏洞报告,SonarQube近期公开漏洞是纯粹的后端 API 鉴权漏洞,跟前端和 Vue 没有任何关系,同时只要遵循普适的前端安全常识,Vue 本身并不存在任何安全性问题。

SonarQube近期公开漏洞是纯粹的后端 API 鉴权漏洞,跟前端和 Vue 没有任何关系

由于Vue近期并没有收到漏洞报告,所以第一时间去网上查找了公开信息。目前网上能找到的 2021 年 11 月关于 SonarQube 漏洞的报道,如下:

警告:攻击者利用 SonarQube 漏洞盗取国内多个机构的大量源码!

SonarQube漏洞致我国大量源码泄露事件分析

文中的漏洞是纯粹的后端 API 鉴权漏洞,跟前端和 Vue 没有任何关系。除此之外,并没有找到任何关于 Vue 的漏洞披露。公开的 CVE 数据库中目前也没有任何针对 Vue.js 本身的漏洞。

Vue 本身并不存在任何安全性问题

截图中的文字措辞可能会让一些不懂技术的朋友以为 “Vue 被黑客用于渗透“ —— 这是错误的理解。黑客渗透可能会利用被攻击者所使用的前端框架中的漏洞,但黑客不会用前端框架作为其渗透的工具,因为前端框架根本没有这个功能。

Vue 作为开源项目,又是以 JavaScript 源码形式发布的前端项目,每一行代码都公开接受任何安全审计。Vue 2 发布至今已经 5 年多,在全球业界被广泛使用,期间从未有被发现过真正意义上的安全漏洞。

前端作为在用户浏览器里执行的代码,漏洞类型通常都是 XSS (Cross-Site Scripting),XSS 中文叫跨站脚本攻击,指的是通过上传恶意信息,让信息中包含的脚本被意外地渲染,从而能够在其他用户登陆时执行,窃取其他用户的数据。XSS 可以以多种形式出现,在纯粹服务端渲染的页面上也可能发生,不一定涉及前端框架。 过去,我们私下也接到过一些所谓的 “漏洞” 报告,但这些报告几乎全部是在假设了将用户上传的任意 HTML 内容当作 Vue 模版或是 v-html 数据使用的前提下 —— 这种场景跟直接渲染用户上传的任意 HTML 没有本质区别,不管用的是不是 Vue 都会导致 XSS,我们文档里的安全章节也对这种做法有特别警告。前端框架的职责是根据开发者提供的模版和数据渲染界面,如果开发者强行要求框架渲染不可信的模版然后指责框架不安全,这就如同用 innerHTML 渲染不可信的内容,然后指责浏览器有安全漏洞一样。 综上,就我们目前所知,只要遵循普适的前端安全常识,Vue 本身并不存在任何安全性问题。