0x00 漏洞概述
近日,,GitHub公開(kāi)披露了在npm中發(fā)現(xiàn)并已修復(fù)的2個(gè)安全漏洞,,攻擊者可利用該漏洞發(fā)起針對(duì)性的依賴(lài)混淆攻擊和域名搶注,或者未經(jīng)授權(quán)更新任何npm包的新版本,。
0x01 漏洞詳情
npm是 Node.js 的包管理工具,,用來(lái)安裝各種 Node.js 的擴(kuò)展,后被GitHub收購(gòu)。
GitHub本次公開(kāi)披露的兩個(gè)漏洞是近兩個(gè)月在npm中發(fā)現(xiàn)的,第一個(gè)漏洞為信息泄露漏洞,,第二個(gè)漏洞為授權(quán)漏洞,詳情如下:
npm信息泄露漏洞
該漏洞是npmjs的復(fù)制服務(wù)器上的數(shù)據(jù)泄漏,,這是由 “日常維護(hù) ”造成的,,導(dǎo)致暴露了私有npm包的名稱(chēng)列表,但在維護(hù)窗口期間,,這些包的內(nèi)容并沒(méi)有暴露,。
當(dāng)在為Replication.npmjs.com 上的公共 npm 副本提供支持的數(shù)據(jù)庫(kù)進(jìn)行維護(hù)期間,創(chuàng)建的記錄可能會(huì)暴露私有包的名稱(chēng),,雖然私有包的內(nèi)容沒(méi)有暴露,,但這些名稱(chēng)信息足以讓攻擊者以自動(dòng)化的方式進(jìn)行有針對(duì)性的依賴(lài)混淆攻擊和域名搶注。
雖然目前所有包含私有包名稱(chēng)的記錄已經(jīng)從 npm 的復(fù)制數(shù)據(jù)庫(kù)中刪除,,但replicate.npmjs.com 服務(wù)仍被第三方使用,,因此第三方可能會(huì)繼續(xù)保留副本或可能已將數(shù)據(jù)復(fù)制到其他地方。因此,,GitHub已經(jīng)對(duì)其生成公共復(fù)制數(shù)據(jù)庫(kù)的過(guò)程進(jìn)行了修改,,以在未來(lái)消除私人軟件包名稱(chēng)泄露問(wèn)題,。
npm授權(quán)漏洞
此漏洞源于處理對(duì)npm注冊(cè)表的請(qǐng)求的多個(gè)微服務(wù)之間不正確的授權(quán)檢查和數(shù)據(jù)驗(yàn)證,,導(dǎo)致授權(quán)和發(fā)布的軟件包存在差異。攻擊者可以在沒(méi)有適當(dāng)授權(quán)的情況下使用賬戶(hù)發(fā)布任何npm包的新版本,。
GitHub表示該漏洞目前尚未被惡意利用,,并且已經(jīng)通過(guò)確保發(fā)布服務(wù)和授權(quán)服務(wù)的一致性來(lái)緩解這個(gè)問(wèn)題,以確保授權(quán)和發(fā)布使用的是同一個(gè)軟件包,。
此外,,流行的npm庫(kù) “ua-parser-js”、“coa ”和 “rc ”之前在一系列攻擊中被劫持,,目的是用木馬和加密礦工感染開(kāi)源軟件消費(fèi)者,。據(jù) GitHub 稱(chēng),這些流行庫(kù)的維護(hù)者都沒(méi)有在他們的帳戶(hù)上啟用雙因素身份驗(yàn)證 (2FA),,因此,,為避免這種情況再次發(fā)生,GitHub將要求 npm 維護(hù)人員在2022 年開(kāi)始啟用2FA,。
0x02 處置建議
目前這些漏洞已經(jīng)修復(fù),,建議相關(guān)用戶(hù)注意防范此類(lèi)攻擊。
參考鏈接:
https://github.blog/2021-11-15-githubs-commitment-to-npm-ecosystem-security/
0x03 參考鏈接
https://github.blog/2021-11-15-githubs-commitment-to-npm-ecosystem-security/
https://www.bleepingcomputer.com/news/security/npm-fixes-private-package-names-leak-serious-authorization-bug/
https://securityaffairs.co/wordpress/124671/security/github-npm-package-flaws.html?
0x04 附錄
公司簡(jiǎn)介
啟明星辰公司成立于1996年,,并于2010年6月23日在深交所中小板正式掛牌上市,,是國(guó)內(nèi)最具實(shí)力的信息安全產(chǎn)品和安全管理平臺(tái),、安全服務(wù)與解決方案的領(lǐng)航企業(yè)之一。
公司總部位于北京市中關(guān)村軟件園,,在全國(guó)各省,、市、自治區(qū)設(shè)立分支機(jī)構(gòu)六十多個(gè),,擁有覆蓋全國(guó)的銷(xiāo)售體系,、渠道體系和技術(shù)支持體系;并在華北,、華東,、西南和華南布局四大研發(fā)中心,分別為北京研發(fā)總部,、上海研發(fā)中心,、成都研發(fā)中心和廣州研發(fā)中心。
多年來(lái),,啟明星辰致力于提供具有國(guó)際競(jìng)爭(zhēng)力的自主創(chuàng)新的安全產(chǎn)品和最佳實(shí)踐服務(wù),,幫助客戶(hù)全面提升其IT基礎(chǔ)設(shè)施的安全性和生產(chǎn)效能,為打造和提升國(guó)際化的民族信息安全產(chǎn)業(yè)領(lǐng)軍品牌而不懈努力,。