CVE-2020-10663: JSON 存在任意创建不安全对象风险 (额外修复)
由 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)
最新消息
Ruby 3.2.10 已发布
Ruby 3.2.10 已发布。
由 hsbt 发表于 2026-01-14
Ruby 4.0.1 已发布
Ruby 4.0.1 已发布。
由 k0kubun 发表于 2026-01-13
Ruby 4.0.0 已发布
我们很高兴地宣布 Ruby 4.0.0 已发布。 Ruby 4.0 引入了 Ruby::Box 和 “ZJIT”,以及若干改进。
由 naruse 发表于 2025-12-25
全新的 Ruby 文档界面
继 重新设计 ruby-lang.org之后, 我们还有更多消息来庆祝 Ruby 诞生 30 周年:docs.ruby-lang.org 采用了全新的、RDoc 的 Aliki 默认主题。
由 Stan Lo 发表于 2025-12-23