CVE-2020-5411:Jackson配置允許透過未知的“序列化Gadget”執行程式碼

| 2020年6月10日 | CVE-2020-5411

描述

當配置為啟用預設型別時,Jackson存在一個反序列化漏洞,可能導致任意程式碼執行。Jackson透過黑名單限制已知的“反序列化Gadget”來修復此漏洞。

Spring Batch將Jackson配置為啟用全域性預設型別,這意味著,如果以下所有條件都成立,則可以透過上述利用方式執行任意程式碼:

  • Spring Batch的Jackson支援被用於序列化Job的ExecutionContext。
  • 惡意使用者獲得了對JobRepository使用的持久儲存的寫入訪問許可權(其中儲存了需要反序列化的資料)。

為了防範此類攻擊,Jackson會阻止反序列化一組不受信任的Gadget類。Spring Batch在啟用預設型別時,應積極阻止未知的“反序列化Gadget”。

受影響的 Spring 產品和版本

  • Spring Batch
    • 4.0.0 到 4.0.4
    • 4.1.0 至 4.1.4
    • 4.2.0 至 4.2.2

緩解措施

受影響版本的使用者應升級到4.2.3或更高版本。已修復此問題的版本包括:

  • Spring Batch
    • 4.2.3

致謝

此問題由Srikanth Ramu發現並負責任地報告。

參考資料

歷史

  • 2020-06-10:釋出初始漏洞報告。

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有