資安廠商Snyk發布最新2019年的JavaScript框架安全性報告,Snyk主要調查了Angular以及React生態系中的安全漏洞和風險,同時也連帶分析了Vue.js、Bootstrap和jQuery,發現許多下載次數高達百萬次的熱門模組都存在漏洞,最常見的問題就是跨站腳本漏洞(XSS)。

Snyk調查Angular和React專案,在較舊版本AngularJS專案中,發現了23個安全性漏洞,但是在Angular框架核心元件沒有任何漏洞存在,而React核心則存在數個漏洞,Snyk提到,在React的核心函式庫發現漏洞似乎不少見。值得注意的是,只有一個React核心專案漏洞,被指定官方CVE編號,而Angular則都沒有,Snyk認為,這證明了需要有一個漏洞資料庫記錄開源社群的活動,以便發現相關的安全問題。

而Snyk在React和Angular模組生態系中受歡迎的前幾名元件,都發現了安全性漏洞,而且這些元件的總下載次數高達了數百萬次,部分元件至今甚至尚無安全修復程式,(下表)包含了Angular或React樣板的漏洞,也就是說,開發者的應用程式因為引用了這些元件,因此在未做任何事之前就存在漏洞,而且都有未修補的漏洞。Angular的相依項目有952個,總共有2個漏洞,React則有1,257個相依項目,存在3個漏洞,還有一個為潛在的授權相容問題。

Angular的熱門模組ngx-bootstrap被下載6,275,854次,卻存在一個中度等級的跨站腳本攻擊漏洞,至今沒有修補程式,而第4熱門的模組ng-dialog,存在了一個未修補的DoS攻擊漏洞,也有580,674下載次數,第8名的angular-froala,有一個未修復的跨站腳本攻擊。總結來說,從模組的下載次數來看漏洞分布,有92%都是跨站腳本攻擊,其他的8%則是DoS攻擊以及存取限制旁路漏洞。

在React生態系中,模組同樣面臨嚴重的跨站腳本漏洞問題,Snyk提到,react-marked-markdown模組有一個嚴重的跨站腳本問題,至今沒有安全修復程式,但是卻被各JavaScript標記式函式庫引用,在過去12個月有65,790的下載次數。還有preactrender-to-string函式庫所有3.7.2之前的版本,都受跨站腳本漏洞影響,但是這個函式庫在過去12個月有高達3,228,049次的下載。

當用戶的應用程式使用到操作SVG格式的函式庫react-svg,則有很大的機會存在嚴重的跨站腳本漏洞,2.2.18版本之前都受影響,在過去12個月這個模組被下載了1,446,442次。另外,今年三月mui-datatables被發現一個CSV注入漏洞,這個函式庫提供基於Material UI框架的表格資料UI元件,在過去12個月下載量超過350,000。

其他前端框架的安全性問題,Vue.js的模組bootstrap-vue函式庫在2019年1月,被發現了一個嚴重的跨站腳本漏洞,在此之前的所有版本皆受影響。Snyk研究團隊也追蹤了Bootstrap框架模組,發現了7個嚴重的跨站腳本漏洞,受影響的模組包含bootstrap-markdown、bootstrap-vuejs和bootstrap-select等。

jQuery發展較早,無論jQuery 1、jQuery 2或jQuery 3各版本都存在數個漏洞,分別有跨站腳本、類型汙染以及DoS等漏洞,Snyk提到,只要不是使用jQuery 3.4.0之後的版本,皆為有漏洞的版本。jQuery的熱門模組也存在許多漏洞,像是jquery-mobile、jquery-fileupload以及jquery-colorbox函式庫,存在跨站腳本或是任意程式碼執行漏洞,而且未有任何修補程式,但在過去12個月總共被下載超過34萬次。

熱門新聞

Advertisement