由 mame 發表於 2020-03-19
翻譯: Juanito Fatas
Ruby 內建的 json gem 存在任意建立物件的安全性風險,此風險的 CVE 識別號為 CVE-2020-10663。我們強烈建議您升級 json gem。
風險細節
json gem(包含 Ruby 內建的版本)在解析 JSON 文件時,系統可以被置入任意的物件。
此風險與 CVE-2013-0269 類似。之前的補丁不完整,只考慮到 JSON.parse(user_input)
,沒考慮到其他解析的方法像是:JSON(user_input)
和 JSON.parse(user_input, nil)
。
了解更多細節參見 CVE-2013-0269。 注意本風險本可用來建立大量無法被 GC 回收的 Symbol 物件,但像是這種類型的攻擊已經不再有效,因為 Ruby 的 Symbol 物件可以被 GC 回收了。但根據應用程序的不同,建立任何物件仍可能存在嚴重的安全性風險。
請用 gem update json
指令更新 json gem 至 2.3.0 以上版本。用 bundler 請加入 gem "json", ">= 2.3.0"
這行到 Gemfile
。
受影響版本
- JSON gem 2.2.0 及先前版本
致謝
感謝 Jeremy Evans 回報此問題
歷史
- 最初發佈於 2020-03-19 13:00:00 (UTC)