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 3.3.12 發布
Ruby 3.3.12 已經發布了。
由 hsbt 發表於 2026-07-16
Ruby 4.0.6 發布
Ruby 4.0.6 已經發布了。
由 k0kubun 發表於 2026-07-14
Ruby 3.4.10 發布
Ruby 3.4.10 已經發布了。
由 nagachika 發表於 2026-06-30
Ruby 4.0.5 發布
Ruby 4.0.5 已經發布了。
由 k0kubun 發表於 2026-05-20