CVE-2022-28739: String 轉換 Float 時緩衝區溢位

在 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)