CloudFlare CDNJS漏洞差點造成大規(guī)模的供應鏈攻擊

來源: 代碼衛(wèi)士
作者:Ravie Lakshmanan
時間:2021-07-27
17057
上個月,Web 基礎設施和網(wǎng)站安全公司 Cloudflare 修復了一個嚴重漏洞,它位于互聯(lián)網(wǎng)12.7%的網(wǎng)站都在用的 CDNJS 庫中。CDNJS 是一款免費開源的內(nèi)容交付網(wǎng)絡 (CDN),為4041個 JavaScript 和 CSS 庫提供服務,是繼 Google Hosted Libraries 之后的第二個最流行的 JavaScript CDN。該漏洞存在于 CDNJS 庫更新服務器中,可導致攻擊者執(zhí)行任意命令,從而導致服務器遭完全攻陷。

數(shù)字化時代,軟件無處不在。軟件如同社會中的“虛擬人”,已經(jīng)成為支撐社會正常運轉(zhuǎn)的最基本元素之一,軟件的安全性問題也正在成為當今社會的根本性、基礎性問題。

隨著軟件產(chǎn)業(yè)的快速發(fā)展,軟件供應鏈也越發(fā)復雜多元,復雜的軟件供應鏈會引入一系列的安全問題,導致信息系統(tǒng)的整體安全防護難度越來越大。近年來,針對軟件供應鏈的安全攻擊事件一直呈快速增長態(tài)勢,造成的危害也越來越嚴重。

為此,我們推出“供應鏈安全”欄目。本欄目匯聚供應鏈安全資訊,分析供應鏈安全風險,提供緩解建議,為供應鏈安全保駕護航。

上個月,Web 基礎設施和網(wǎng)站安全公司 Cloudflare 修復了一個嚴重漏洞,它位于互聯(lián)網(wǎng)12.7%的網(wǎng)站都在用的 CDNJS 庫中。

CDNJS 是一款免費開源的內(nèi)容交付網(wǎng)絡 (CDN),為4041個 JavaScript 和 CSS 庫提供服務,是繼 Google Hosted Libraries 之后的第二個最流行的 JavaScript CDN。

該漏洞存在于 CDNJS 庫更新服務器中,可導致攻擊者執(zhí)行任意命令,從而導致服務器遭完全攻陷。

漏洞概述

安全研究員 RyotaK 在2021年4月6日發(fā)現(xiàn)并報告該漏洞,目前尚未發(fā)現(xiàn)該漏洞遭在野利用的證據(jù)。具體而言,該漏洞首先將程序包公布到使用 GitHub 和 npm 的 CDNJS 中以觸發(fā)路徑遍歷漏洞,并最終誘騙服務器執(zhí)行任意代碼,從而實現(xiàn)遠程代碼執(zhí)行。

值得注意的是,CDNJS 基礎設施包含多個功能,可通過定期在服務器上運行腳本的方式自動更新庫,從各自的用戶管理 Git 倉庫或 npm 包注冊表下載相關(guān)文件。

RyotaK 從該機制清理包路徑的過程中發(fā)現(xiàn)了一個問題,“從發(fā)布到 npm 的 .tgz 文件中執(zhí)行路徑遍歷并覆寫在服務器上定期執(zhí)行的腳本后,可執(zhí)行任意代碼”。換句話說,該攻擊的目標是在倉庫中發(fā)布特別構(gòu)造的數(shù)據(jù)包新版本,之后在將惡意包內(nèi)容復制到托管在服務器上的定期執(zhí)行的腳本文件過程中,通過CDNJS 庫更新服務器發(fā)布,從而獲得任意代碼執(zhí)行權(quán)限。

RyotaK 表示,“雖然利用該漏洞無需任何特殊技能,但可影響很多網(wǎng)站。鑒于供應鏈中存在很多易遭利用且影響巨大的漏洞,因此我認為這個漏洞非??植馈!?/span>

這并非 RyotaK 在處理軟件倉庫更新過程中發(fā)現(xiàn)的第一枚嚴重缺陷。2021年4月,RyotaK 在官方 Homebrew Cask 倉庫中發(fā)現(xiàn)一個嚴重漏洞,本可導致攻擊者在用戶機器上執(zhí)行任意代碼。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于代碼衛(wèi)士,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務商推薦
更多