CVE-2024-27281:RDoc 中存在 .rdoc_options 远程代码执行漏洞

我们已发布 RDoc gem 版本 6.3.4.1、6.4.1.1、6.5.1.1 和 6.6.3.1,其中包含针对 RCE 漏洞的安全修复。此漏洞已分配 CVE 标识符 CVE-2024-27281

详情

在 RDoc 6.3.3 至 6.6.2 中发现了一个问题,这些版本在 Ruby 3.x 至 3.3.0 中分发。

当解析 .rdoc_options(用于 RDoc 中的配置)作为 YAML 文件时,由于对可以恢复的类没有限制,因此可能发生对象注入和随之而来的远程代码执行。

当加载文档缓存时,如果存在精心制作的缓存,也可能发生对象注入和随之而来的远程代码执行。

建议措施

我们建议将 RDoc gem 更新到 6.6.3.1 或更高版本。为了确保与旧 Ruby 系列中捆绑的版本兼容,您可以改为按以下方式更新

  • 对于 Ruby 3.0 用户:更新到 rdoc 6.3.4.1
  • 对于 Ruby 3.1 用户:更新到 rdoc 6.4.1.1
  • 对于 Ruby 3.2 用户:更新到 rdoc 6.5.1.1

您可以使用 gem update rdoc 来更新它。如果您正在使用 bundler,请将 gem "rdoc", ">= 6.6.3.1" 添加到您的 Gemfile 中。

注意:6.3.4、6.4.1、6.5.1 和 6.6.3 的修复不正确。我们建议升级到 6.3.4.1、6.4.1.1、6.5.1.1 和 6.6.3.1 而不是它们。

受影响的版本

  • Ruby 3.0.6 或更低版本
  • Ruby 3.1.4 或更低版本
  • Ruby 3.2.3 或更低版本
  • Ruby 3.3.0
  • RDoc gem 6.3.3 或更低版本,6.4.0 至 6.6.2,不包括补丁版本(6.3.4、6.4.1、6.5.1)

鸣谢

感谢 ooooooo_q 发现此问题。

历史

  • 最初发布于 2024-03-21 4:00:00 (UTC)