CVE-2023-28756:Time 库中的 ReDoS 漏洞

我们发布了 time gem 的 0.1.1 和 0.2.2 版本,其中包含了针对 ReDoS 漏洞的安全修复。此漏洞已分配 CVE 标识符 CVE-2023-28756

详情

Time 解析器错误地处理包含特定字符的无效字符串。 这会导致将字符串解析为 Time 对象时的执行时间增加。

在 Time gem 0.1.0 和 0.2.1 以及 Ruby 2.7.7 的 Time 库中发现了一个 ReDoS 问题。

建议措施

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

  • 对于 Ruby 3.0 用户:更新到 time 0.1.1
  • 对于 Ruby 3.1/3.2 用户:更新到 time 0.2.2

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

遗憾的是,time gem 仅适用于 Ruby 3.0 或更高版本。如果您正在使用 Ruby 2.7,请使用最新版本的 Ruby。

受影响的版本

  • Ruby 2.7.7 或更低版本
  • time gem 0.1.0
  • time gem 0.2.1

鸣谢

感谢 ooooooo_q 发现了这个问题。

历史

  • 最初发布于 2023-03-30 11:00:00 (UTC)