如果說2020年教會我們什麼東西,就是去預測意想不到的事情。儘管沒有適當的文字來形容後疫情時代,全球必須都要面對艱困環境的挑戰,人們適必竭盡所能的適應環境變化,但我們很高興為您提供2020年十大開源漏洞的清單。不管我們的距離有多遙遠,WhiteSource知識團隊透過WhiteSource弱點資料庫仔細調查,分析2020年Open Source所有新發布的弱點,為您提供有關Open Source安全問題的最新訊息。所分析的WhiteSource資料庫持續不斷從數十個來源收集弱點資訊,包括NVD、安全公告和Open Source專案問題追踪平台…等,以盡可能確保涵蓋所有Open Source弱點。
2020年前10大弱點包含一些知名的Open Source專案,普遍應用在軟體開發生命週期的各個階段中,而WhiteSource將這些元件弱點資訊收錄在WhiteSource資料庫中,包含數百萬個易受攻擊的弱點和套件(Packages),這些弱點中部份會使用CVE的前綴字符發布,但當問題未被新增至NVD國際弱點資料庫時,便會使用WS作為前綴字符。
因此,我們在此列出2020年新發布的十大Open Source安全弱點名單以供參考:
CVSS:7.4高
受影響的版本: 4.17.2之前版本
當使用Lodash的_.zipObjectDeep函式時,易受攻擊的版本中發現了一個prototype pollution(樣版汙染)的安全問題。根據HackerOne的報告說明,攻擊者可以利用此漏洞在Object.prototype的屬性執行注入攻擊,這可能導致機敏性資料的洩露、資料竄改或拒絕服務(DoS)。
在HackerOne的報告提供了以下步驟來重現:下圖為透過lodash的“ zipObjectDeep”函式撰寫物件程式範例。
Lodash 是一個JavaScript實用函式庫,可提供更好的“模組化、效能和更多附加功能”是開發時常用的套件。 Lodash文件中指出,Lodash可使JavaScript易於處理陣列、數值、物件及字串…等。這或許就是為什麼這麼多開發人員喜愛使用Open Source 元件來迭代陣列、物件和字串,來操作、測試和建立複合函式的原因。
CVSS:8.1高
受影響的版本: 2.9.10.6之前的2.x版本
與br.com.anteros.dbcp.Anteros DBCP 資料來源 (簡稱 Anteros-DBCP)有關的FasterXML jackson-databind,在易受攻擊的版本中,錯誤處理序列化的小工具,在輸入資料時易產生相互影響。
序列化是Java開發人員常見的一種用法,在過去幾年Java序列化框架和元件中,反映許多序列化問題。根據 @cowtowncoder(一個可能以JSON元件而出名,對Open Source 經驗豐富的開發人員)所說明,「序列化小工具」可能會以未曾評估過的方式執行惡意程式,造成可遠端執行程式、拒絕服務或機敏性資料的洩露,儘管這種類型的攻擊有可能造成嚴重破壞,但@cowtowncode明確的表示,這類攻擊沒那麼容易執行,且需要許多先決條件才能觸發。
廣受好評的Java JSON 解析器jackson-databindd多年來一直是人們的最愛,這要歸功它在JSON和Java之間,常見的資料轉換方式,當開發人員想要為User進行API串接時,jackson-databind通常是他們的首選。如果您也是Java開發人員,那麼您最好確保使用的jackson-databind版本是最新的。
CVSS:8.1高
受影響的版本: 2.37.0之前版本
在易受攻擊的HtmlUnit版本中,發現了程式執行的問題。根據NVD公告,當HtmlUnit初始化Rhino engine有誤時,惡意的JavaScript程式碼可在應用程式上任意執行Java程式,當嵌入至Android應用程式上使用時,由於Rhino engine未正確執行Android-specific的初始化,因此惡意的JavaScript程式,可在應用程式上任意執行Java程式。
根據文件指出,HtmlUnit 是可支授JavaScript 和 AJAX的元件,是一個" Java程式的GUI-Less瀏覽器",它為HTML文件建模,並提供使用者調用頁面、填寫表單、點擊Link連結等功能的API。這些Open Source 通常用於測試或從網站取得資訊。
CVSS: 8.1 高
受影響的版本: 3.0.8之前版本和4.5.3之前的4.x版本
根據NPM 安全公告指出,在Handlebars易受攻擊的版本中,存在任意執行程式的安全問題。公告中指出那些Package中 lookup helper沒有確實的驗證模版,允許惡意的使用者在系統中提交模版並任意執行JavaScript,使這個弱點可在伺服器處理Handlebars 模板,或在被攻擊的瀏覽器上(有效的執行Cross-Site Scripting)任意執行程式。而弱點的形成,就是因為過去的問題沒有有效的被修復,所產生的後果。
Handlebars是Mustache 模板語言的擴充套件,是一個“不需使用太多邏輯的模版語言,可使View與程式能夠分離”,以獲得更好的體驗。目前,NPM每週下載量超過700萬次,是一個非常受歡迎的Open Source,現由社群成員提供支援和維護,因此可以依靠社群的力量快速回報和修復所發現的任何問題。