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

在 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 的提及