CVE-2021-31799: RDoc 中存在命令注入漏洞

aycabta 发布于 2021年5月2日

Ruby 自带的 RDoc 中存在一个命令注入漏洞。建议所有 Ruby 用户将 RDoc 更新到修复此问题的最新版本。

详情

已报告以下漏洞。

RDoc 过去曾调用 Kernel#open 来打开本地文件。如果 Ruby 项目中有一个文件名以 | 开头并以 tags 结尾,则会执行管道字符后的命令。恶意的 Ruby 项目可以通过此漏洞来对尝试运行 rdoc 命令的用户执行任意命令。

受此问题影响的 RDoc 版本的 Ruby 用户应更新到最新版本的 RDoc。

受影响的版本

  • RDoc 的所有版本从 3.11 到 6.3.0
  • Ruby 3.0.2 (包含 RDoc 6.3.1)、Ruby 2.7.4 (包含 RDoc 6.2.1.1) 和 Ruby 2.6.8 (包含 RDoc 6.1.2.1) 已包含修复,不受影响。

如何更新

运行以下命令将 RDoc 更新到最新版本 (6.3.1 或更高版本) 以修复漏洞。

gem install rdoc

如果您正在使用 Bundler,请将 gem "rdoc", ">= 6.3.1" 添加到您的 Gemfile 中。

致谢

感谢 Alexandr Savca 报告此问题。

历史

  • 首次发布于 2021-05-02 09:00:00 UTC
  • 于 2021-07-16 00:02:00 UTC 提及 Ruby 3.0.2、Ruby 2.7.4 和 Ruby 2.6.8

近期新闻

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 采用了 Aliki——RDoc 的新默认主题,焕然一新。

Stan Lo 发布于 2025 年 12 月 23 日

重新设计我们的网站标识

我们很高兴地宣布对我们的网站进行全面重新设计。此次更新的设计由 Akatsuka Taeko 创作。

Hiroshi SHIBATA 发布于 2025 年 12 月 22 日

Ruby 4.0.0 preview3 发布

我们很高兴地宣布 Ruby 4.0.0-preview3 的发布。Ruby 4.0 引入了 Ruby::Box 和“ZJIT”,并增加了许多改进。

naruse 发布于 2025 年 12 月 18 日

更多新闻...