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.0 preview2 發布
我們很高興宣布 Ruby 4.0.0-preview2 發布了。 Ruby 4.0 將 Unicode 版本更新至 17.0.0,以及其他更新。
由 naruse 發表於 2025-11-17
Ruby 3.3.10 發布
Ruby 3.3.10 已經發布了。
由 nagachika 發表於 2025-10-23
移交 RubyGems 程式碼儲存庫的所有權
親愛的 Ruby 社群
由 matz 發表於 2025-10-17
Ruby 3.4.7 發布
Ruby 3.4.7 已經發布了。
由 k0kubun 發表於 2025-10-07