由 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: 升級至
stringio
3.0.1.1 - Ruby 3.1: 升級至
stringio
3.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)