CVE-2022-28739: String 轉換 Float 時緩衝區溢位
由 mame 發表於 2022-04-12
翻譯: Vincent Lin
在 String 轉換 Float 的演算法中發現了一個緩衝區溢位漏洞。 此風險的 CVE 識別號為 CVE-2022-28739。 我們強烈建議您升級 Ruby。
風險細節
由於 String 轉換 Float 所使用的內部函式有錯誤,一些轉換方法如 Kernel#Float 以及 String#to_f 會造成緩衝區過度讀取。
典型的情況是程式會發生記憶體區段錯誤(Segmentation fault)而停止,但在少數的情況下,可能會造成非法讀取記憶體。
請升級 Ruby 至 2.6.10、2.7.6、3.0.4 或 3.1.2。
受影響版本
- ruby 2.6.9 及更早版本
- ruby 2.7.5 及更早版本
- ruby 3.0.3 及更早版本
- ruby 3.1.1 及更早版本
致謝
感謝 piao 回報此問題。
歷史
- 最初發佈於 2022-04-12 12:00:00 (UTC)
最新消息
Ruby 4.0.3 發布
Ruby 4.0.3 已經發布了。本次發布只包含修復 CVE-2026-41316 的 ERB 6.0.1.1。
由 k0kubun 發表於 2026-04-21
Ruby 3.2.11 發布
Ruby 3.2.11 已經發布了。 本次發布包含 針對 CVE-2026-27820 的 zlib gem 更新。
由 hsbt 發表於 2026-03-27
Ruby 3.3.11 發布
Ruby 3.3.11 已經發布了。 本次發布包含 解決 zlib gem CVE-2026-27820 的更新,以及其他錯誤修復。
由 hsbt 發表於 2026-03-26
Ruby 4.0.2 發布
Ruby 4.0.2 已經發布了。
由 k0kubun 發表於 2026-03-16