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 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

更多新闻...