CVE-2024-27281: RDoc 中 .rdoc_options 的 RCE 漏洞

我们发布了包含 RCE 漏洞补丁的 RDoc gem 版本 6.3.4.1, 6.4.1.1, 6.5.1.1 和 6.6.3.1。 此漏洞的 CVE 编号为 CVE-2024-27281.

详情

在 RDoc 6.3.3 至 6.6.2 中发现了一个问题,影响了 Ruby 3.x 至 3.3.0。

当解析 YAML 格式的 .rdoc_options 文件时(用于 RDoc 配置),由于对恢复的类没有限制,可能导致对象注入和由此产生的远程代码执行。

当载入文档缓存时,如果存在特制的缓存,对象注入和由此产生的远程代码执行也可能存在。

建议操作

我们建议将 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,请在您的 Gemfile 中增加 gem "rdoc", ">= 6.6.3.1

注意: 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)