天天看點

最新JWT遠端代碼執行漏洞

作者:血超級厚的洋芋

最近Palo Alto Networks釋出了一份技術安全咨詢,涉及在JSON web令牌(JWT)中識别出的允許遠端代碼執行(RCE)的高嚴重漏洞。

JsonWebToken是一個開源JavaScript包,允許驗證/簽署jwt,用于授權和身份驗證目的。它由Auth0開發和維護,每周有超過900萬的下載下傳量和超過2萬的依賴。這個包被許多應用程式用于身份驗證和授權功能。

基于通用漏洞和暴露(CVE)的命名标準和通用漏洞評分系統定義的嚴重程度标準(CVSS),漏洞分為高、中、低。表1總結了漏洞類型及其相關得分。

最新JWT遠端代碼執行漏洞
最新JWT遠端代碼執行漏洞

漏洞詳情

對JWT的攻擊将涉及不同的僞造技術,通過濫用有bug的JWT觸發,并允許攻擊者繞過身份驗證和授權機制來通路敏感資訊或竊取和/或修改資料。

JWT包提供的驗證方法接收三個參數:token、secretOrPublicKey和options。verify函數驗證JWT的有效性,并傳回已解碼的有效負載部分。

secretOrPublicKey是一個字元串或緩沖區。當options算法清單中沒有允許的算法時,PEM檔案中由參數secretOrPublicKey提供的值将被配置設定給options。該包沒有檢查secretOrPublicKey是字元串還是緩沖區,它盲目地使用toString()方法,這導緻了問題。

當通過secretOrPublicKey參數将惡意對象傳遞給驗證函數并覆寫其toString()方法時,将導緻在主機上成功寫入任意檔案。

最新JWT遠端代碼執行漏洞

上述PoC發現了可以被攻擊者利用的漏洞,并可以在伺服器上實作遠端代碼執行(RCE),驗證惡意制作的JSON web令牌(JWT)請求。

繼續閱讀