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.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

更多新聞...