CVE-2024-27280: StringIO 中的缓存过读漏洞
由 hsbt 发表于 2024-03-21
翻译: GAO Jun
我们发布了包含缓存过读漏洞补丁的 StringIO gem 版本 3.0.1.1 和 3.0.1.2。 此漏洞的 CVE 编号为 CVE-2024-27280.
详情
在 StringIO 3.0.1 中发现了一个问题,在 Ruby 3.0.x 中影响至 3.0.6,在 3.1.x 中影响至 3.1.4。
StringIO 中的 ungetbyte 和 ungetc 方法能够读取超过字符串结尾的内容,如果后续调用 StringIO.gets 能返回内存数据。
此漏洞不会影响 StringIO 3.0.3 及之后版本,不会影响 Ruby 3.2.x 及之后版本。
建议操作
我们建议将 StringIO gem 更新到 3.0.3 或后续版本。 为确保与旧版 Ruby 中的绑定版本兼容,您可以按照下面的方式进行更新:
- Ruby 3.0:更新
stringio至 3.0.1.1 - Ruby 3.1:更新
stringio至 3.0.1.2
注意:StringIO 3.0.1.2 不仅包含了本问题的补丁,也包含了 [Bug #19389] 的补丁。
您可以通过 gem update stringio 进行更新。如果您使用 bundler,请在您的 Gemfile 中增加 gem "stringio", ">= 3.0.1.2"。
受影响版本
- Ruby 3.0.6 或更低版本
- Ruby 3.1.4 或更低版本
- StringIO gem 3.0.2 或更低版本
致谢
感谢 david_h1 发现此问题。
历史
- 最初发布于 2024-03-21 4:00:00 (UTC)
最新消息
全新的 Ruby 文档界面
继 重新设计 ruby-lang.org之后, 我们还有更多消息来庆祝 Ruby 诞生 30 周年:docs.ruby-lang.org 采用了全新的、RDoc 的 Aliki 默认主题。
由 Stan Lo 发表于 2025-12-23
重新设计我们的网站标识
我们激动地宣布网站已经全面改版。此次更新的设计方案由 Taeko Akatsuka (赤塚妙子) 创作。
由 Hiroshi SHIBATA 发表于 2025-12-22
Ruby 4.0.0 preview3 已发布
我们很高兴地宣布 Ruby 4.0.0-preview3 已发布。 Ruby 4.0 引入了 Ruby::Box 和 “ZJIT”,以及若干改进。
由 naruse 发表于 2025-12-18
Ruby 3.4.8 已发布
Ruby 3.4.8 已发布。
由 k0kubun 发表于 2025-12-17