每週數百萬下載量!NPM包修復了一個遠端程式碼執行漏洞

zktq2021發表於2021-09-08

執行Node.js應用程式的開發者需要檢查他們是否在使用pac-resolver JavaScript庫,如果最近沒有更新,建議及時進行更新。

一個非常流行的NPM包,被稱為“pac-resolver”的JavaScript程式語言已得到修復,以解決一個可能影響很多Node.js應用程式的遠端程式碼執行缺陷。

pac-resolver依賴項中的漏洞是由開發人員Tim Perry發現的,他指出,只要操作員嘗試傳送HTTP請求,本地網路上的攻擊者就可以在Node.js程式中遠端執行惡意程式碼。Note.js是流行的JavaScript執行時用於執行JavaScript Web應用程式。

Perry解釋說:“這個包在PAC - proxy - agent中用於PAC檔案支援,然後在proxy - agent中反過來使用,然後在Node.js中用作HTTP代理自動檢測和配置的標準首選包。”

Perry指出,PAC或“代理自動配置”指的是用JavaScript編寫的PAC檔案,用於分發複雜的代理規則,這些規則指示HTTP客戶端對給定主機名使用哪個代理,這些規則在企業系統中被廣泛使用。它們分佈在本地網路伺服器和遠端伺服器上,通常透過HTTP而不是HTTPs不安全。

這個問題影響範圍很廣,因為Proxy-Agent被用於Amazon Web Services Cloud Development Kit (CDK)、Mailgun SDK和谷歌的Firebase CLI。

Perry 在部落格文章中指出,該軟體包每週有300萬次下載,並在GitHub上擁有285,000個公共依賴儲存庫。

該漏洞最近在所有這些包的v5.0.0中被修復,並在上週被披露後被標記為CVE-2021-23406。

這意味著大量使用Node.js應用程式的開發人員可能會受到影響,需要升級到5.0版本。

在Node.js應用程式中,它會影響到任何依賴於5.0版本之前的Pac-Resolver的人。如果開發人員做了以下三種配置中的任何一種,它就會影響這些應用程式:

  • 顯式使用PAC檔案進行代理配置

  • 在啟用WPAD的系統上閱讀和使用Node.js中的作業系統代理配置

  • 使用代理配置(env vars、配置檔案、遠端配置端點、命令列引數),從您不能100%信任的任何其他原始碼自由地在計算機上執行程式碼

佩裡表示,在任何一種情況下,只要您使用此代理配置傳送HTTP請求,攻擊者(透過配置惡意 PAC URL、使用惡意檔案攔截 PAC 檔案請求或使用 WPAD)都可以在您的計算機上遠端執行任意程式碼。


程式碼安全要加強重視


管理者應該留出時間來處理漏洞及其他安全相關事項。在新增一個新的程式碼庫時,開發人員通常將功能和許可視為重要的考慮因素,而並不認為安全性同等重要。63%的人表示他們在評估新程式碼庫時總是考慮許可,84.2%的開發人員在評估第三方程式碼庫時不總是考慮安全性。

大量調查顯示,幾乎所有現代企業應用程式中都不同程度地存在易受攻擊的第三方程式碼庫和開原始碼。如今企業應用程式中平均包含多達528個開源元件,在每個程式碼庫中平均發現158個漏洞,其中很多是關鍵漏洞。

因此,當應用程式中的第三程式碼方庫不能保持在最新狀態時,對企業來說後果可能很嚴重。首先,違規風險可能會更高,其次是增加了補丁的複雜性。漏洞時間越長修補就越複雜,打補丁所需的時間就越長,破壞應用程式的風險也就越大。

對於既是直接依賴又是傳遞依賴的庫,修補可能需要長達2.5倍的時間。這同樣適用於複雜的漏洞,例如任意程式碼執行缺陷,與典型問題相比,修復這些漏洞可能需要兩倍的時間。遠端程式碼執行和拒絕服務錯誤也需要更長的時間來解決。

在敏捷開發的今天,越來越多的開原始碼及元件被開發人員引入到應用程式中來,程式碼安全關係著系統安全,影響著網路安全。隨著DevsecOps的實踐,安全逐漸從一個專有的檢測部門貫穿到整個開發流程當中,並且第三方庫的不及時更新更為程式碼安全帶來重大隱患。一方面,在靜態程式碼階段應及時透過 靜態程式碼安全檢測工具及開原始碼安全檢測工具對編寫的程式碼進行安全監控,另一方面加強開發人員對安全的重視,制定一定的安全規範在一定程度上能減少問題程式碼的產生。Wukong(悟空)靜態程式碼檢測工具,從原始碼開始,為您的軟體安全保駕護航!


參讀連結:

https://www.zdnet.com/article/this-npm-package-with-millions-of-weekly-downloads-has-fixed-a-remote-code-execution-flaw/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2790972/,如需轉載,請註明出處,否則將追究法律責任。

相關文章