您好,登錄后才能下訂單哦!
本篇文章為大家展示了node-forge JavaScript庫中存在的漏洞是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
流行的node-forge JavaScript庫的一個遺留函數中存在一個安全漏洞(CVE-2020-7720),攻擊者可利用該漏洞對應用程序執行原型污染攻擊。
超過350萬個存儲庫使用的node-forge實現了各種加密實用程序,TLS協議和用于開發web應用程序的工具。
原型污染是一種嚴重的漏洞,攻擊者可通過在運行時修改應用程序的代碼利用該漏洞篡改應用程序的行為。
這通常通過惡意輸入來執行,取決于脆弱的組件,可導致一系列攻擊,包括拒絕服務甚或遠程執行代碼。
該漏洞存在于node-forge中的util.setPath()函數,該函數自該庫的早期版本開始,在該庫開始注重加密之前,就已存在。
根據node-forge的更新日志,當使用不安全的輸入時,util.setPath存在一個潛在的原型污染安全漏洞。setPath是一個通用函數,允許開發人員通過傳遞文本字符串修改對象的屬性。
該漏洞最先被報告給安全公司Snyk,在node-forge的維護人員發布補丁后,該公司披露了該漏洞。
Snyk給予該漏洞9.8分的超危評分,而NVD對該漏洞的評分為7.3。Snyk網站上發布的PoC顯示,setPath可被用于污染基礎對象的__prototype__屬性,導致應用程序被修改。
Node-forge更新日志寫道,“Forge本身并不使用這些函數。它們可追溯至早些時候,當forge定向提供通用助手功能時。”
Node-forge的維護人員David Lehn表示,“我們從未觀察到任何人使用該函數,包括forge自身,更別提利用它了。”
和其他相關的函數一起,setPath被從node-forge最新版本中移除了。
Node-forge的維護人員建議使用其他具有類似屬性設置功能的庫,例如lodash,但是也警告在這些庫中可能有原型污染漏洞。
“lodash set()類似于setPath()(也是setPath的一個很好的受支持的替代)。我想其他人已經編寫了類似的object-path-setting代碼。當正確使用時,它是非常有用的。”Lehn說道,但是他補充表示,如果沒有過濾輸入,提供該功能的任何代碼都可能含有類似的安全漏洞。
上述內容就是node-forge JavaScript庫中存在的漏洞是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。