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

我们刚发布了包含 ReDos 漏洞补丁的 time gem 版本 0.1.1 和 0.2.2。 此漏洞的 CVE编号为 CVE-2023-28756.

详情

Time 解析器会错误处理包含特殊字符的错误字符串。这会导致将字符串解析为时间的处理时间变长。

受此 ReDoS 问题影响的 time gem 版本包括:0.1.0,0.2.1 以及 Ruby 2.7.7 中使用的版本。

建议操作

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

不幸的是,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)