如果說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: 9.8 嚴重
受影響的版本: 4.2.1之前版本
根據NPM安全公告,受影響的decompress版本容易受到任意檔案(Arbitrary File)寫入的攻擊,惡意使用者可以透過加入含有../的路徑名稱,在系統中寫入任何文件夾,因為軟體封包不會阻擋有相對路徑的文件擷取。
decompress是一個可輕鬆擷取檔案的Open Source。例如,在規模相對較小的專案中的漏洞常被許多人用來執行簡單的工作,然而,如未經過及時修補,卻可能對使用者造成劇烈的損害。
雖然像decompress這樣的專案使我們在程式開發時變得更容易,但當遇到相對比較簡單的工作執行時,我們很容易忽視Open Source的弱點管理議題。為了解決此問題,建議更新到版本4.2.1或更高版本以修復弱點。
CVSS: 8.8 高
受影響的版本: 1.4.14之前版本
在易受攻擊的XStream版本中,發現了遠端執行程式的問題,在XStream問題頁面中指出:「在解集時處理的資料流,內含類別資訊可重新建立以前編寫過的物件。因此,XStream也根據這類問題建立幾個新的參考案例。攻擊者可操縱處理輸入的資料流,並替換或注入可任意執行shell commands的物件。」GitHub安全公告建議XStreams的用戶,將安全框架的黑名單設定更新到1.4.14或更高版本。使用XStream白名單安全框架的用戶將不會受到影響。
XStream是一個Open Source library並執行Java至XML的序列化及反序列化。同時包含傳輸、持續性、配置和單元測試等典型用法。由於它是許多大規模Open Source Java Web應用程式在開發時會使用到非常受歡迎的library,因此,更應確保隨時更新最新版本並遵循建議管理元件及弱點問題。
您可以在GitHub上了解有關此修復的更多資訊。
CVSS: 9.8 嚴重
受影響的版本: 4.1.46之前的4.1.x版本
ZlibDecoders易受攻擊的Netty版本,允許在解析ZlibEncoded byte時,沒有限制記憶體配置。惡意使用者可能利用此安全弱點,發送較大的ZlibEncoded byte至Netty伺服器,迫使伺服器將分配所有可用的記憶體至單一解析器。
Netty是一個非同步事件驅動網路應用程式的框架設計,設計用於快速開發時可維護高效能的伺服器和用戶端協議。 根據專案文件說明,此NIO用戶端/伺服器框架,有助於簡化TCP和UDP的socket伺服器等網路程式開發。
CVSS: 7.5 高
受影響的版本: 5.0.16之前的5.0.x版本、5.1.13之前的5.1.x版本和5.2.3之前的5.2.x版本
Spring Framework受影響的版本中,當應用程式在設置“ Content-Disposition” header時,若文件的名稱特徵是由使用者執行延伸輸入,很容易受到反射型檔案下載(Reflected file download , RFD)的攻擊。
如果您一直在使用Java,那麼您很可能有看過Spring。 它是一種廣受歡迎的Java應用程式開發框架,由於它的模組化和輕量化,使開發人員可以輕鬆地創造功能強大的應用程式。 最有名的是它顛覆了控制設計原理,結合了分層、輕量化container以及程式開發介接的能力。
您可以在此處閱讀有關此問題的更多資訊。
CVSS: 9.8 嚴重
受影響的版本: 5.3.1之前版本
當不被信任的YAML文件透過full_load方法或FullLoader loader處理時,PyYAML library中易受攻擊的版本容易受到任意執行程式的影響,使駭客可利用這個弱點濫用python/object/new等函數,在系統上執行任意程式。
PyYAML在Python是個非常流行的YAML解析和發送工具,就像Python在這幾年持續很熱門,因此,您最好確保您使用的是PyYAML最新版本,以避免風險的危害。
許多開發人員都非常依賴Open Source和第三方元件,因為這些元件可以幫助我們大規模且快速地開發和交付創新的軟體產品。儘管應用程式安全已逐漸成為開發人員的重視的議題,但不幸的是,許多團隊仍將安全性視為一項沉重且耗時的任務,使他們的工作效率變慢。
我們在此提醒您,Open Source安全性對於應用程式安全至關重要,考量到安全性並非一定會阻礙快速開發,您可參考DevSecOps工具,透過DevOps pipeline儘早整合自動化測試,在不影響開發速度的情況下,確保您所依賴的Open Source元件是安全且最新的。