由 mame 发表于 2020-03-19
翻译: Alex S
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 对象了。但根据程序代码的不同,创建任何对象仍可能存在严重的安全风险。
请用 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)