由 hsbt 发表于 2023 年 3 月 30 日
我们发布了 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)