GitHub僅用6小時(shí)修復(fù)NPM JavaScript注冊表中長期存在的漏洞
GitHub 今天表示,團(tuán)隊(duì)已經(jīng)修復(fù)了 NPM(Node Package Manager)JavaScript 注冊表中一個(gè)長期存在的問題,該問題將允許攻擊者在沒有適當(dāng)授權(quán)的情況下更新任何軟件包。首席安全官 Mike Hanley 昨天發(fā)布了這個(gè)問題,這個(gè)問題是由安全研究人員 Kajetan Grzybowski 和 Maciej Piechota 于 11 月 2 日報(bào)告的,并在 6 小時(shí)內(nèi)修復(fù)。
這一令人印象深刻的速度與該漏洞存在的時(shí)間長短形成鮮明對比,據(jù)說比“我們有可用的遙測數(shù)據(jù)的時(shí)間框架要長,可以追溯到 2020 年 9 月”。
該漏洞是基于一個(gè)熟悉的不安全模式,即系統(tǒng)正確地驗(yàn)證了一個(gè)用戶,但隨后允許訪問超出該用戶的權(quán)限。在這種情況下,NPM 服務(wù)正確地驗(yàn)證了一個(gè)用戶被授權(quán)更新一個(gè)包,但“對注冊表數(shù)據(jù)進(jìn)行底層更新的服務(wù)根據(jù)上傳的包文件的內(nèi)容來決定發(fā)布哪個(gè)包”。
NPM 是數(shù)百萬開發(fā)者的重要資源;例如,最受歡迎的軟件包之一是 lodash,這是一個(gè) JavaScript 工具庫,每天被下載約 700 萬次。這樣一個(gè)軟件包的惡意版本的后果將是嚴(yán)重的,這就是為什么 Hanley 補(bǔ)充說,“我們可以非常自信地說,這個(gè)漏洞至少自 2020 年 9 月以來沒有被惡意利用過”。