CVE-2024-27280: StringIO 中的緩衝區 overread 漏洞
由 hsbt 發表於 2024-03-21
翻譯: Bear Su
我們發布了 StringIO gem 版本 3.0.1.1 和 3.0.1.2,對緩衝區 overread 漏洞進行了安全性修復。 該漏洞的 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: 升級至
stringio3.0.1.1 - Ruby 3.1: 升級至
stringio3.0.1.2
注意: StringIO 3.0.1.2 除了漏洞修復之外,也包含了錯誤修復 [Bug #19389]。
您可以使用 gem update stringio 進行更新。如果您使用 bundler,請將 gem "stringio", ">= 3.0.1.2" 加入到您的 Gemfile 中。
受影響版本
- Ruby 3.0.6 及更早版本
- Ruby 3.1.4 及更早版本
- StringIO gem 3.0.1 及更早版本
致謝
感謝 david_h1 發現此問題。
歷史
- 修復 StringIO 影響版本 (3.0.2 -> 3.0.1) 於 2024-04-11 12:50:00 (UTC)
- 最初發佈於 2024-03-21 4:00:00 (UTC)
最新消息
Ruby 4.0.1 發布
Ruby 4.0.1 已經發布了。
由 k0kubun 發表於 2026-01-13
Ruby 4.0.0 發布
我們很高興宣布 Ruby 4.0.0 發布了。 Ruby 4.0 導入了 Ruby::Box 和 “ZJIT”,以及許多改進功能。
由 naruse 發表於 2025-12-25
Ruby 文件的新樣貌
繼重新設計 ruby-lang.org 之後,我們還有更多消息來慶祝 Ruby 誕生 30 週年: docs.ruby-lang.org 採用了 Aliki—RDoc’s 的全新預設主題。
由 Stan Lo 發表於 2025-12-23
重新設計我們的網站形象
我們很興奮地宣布網站進行了全面改版。這次更新的設計方案是由 Taeko Akatsuka 負責創作。
由 Hiroshi SHIBATA 發表於 2025-12-22