CVE-2022-28738: Regexp 編譯時雙重釋放風險

在 Regexp 編譯時發現一個雙重釋放(Double free)的風險。 此風險的 CVE 識別號為 CVE-2022-28738。 我們強烈建議您升級 Ruby。

風險細節

由於 Regexp 編譯過程中的一個錯誤,使用特定字串所生成的 Regexp 的物件,可能會造成同一個記憶體被釋放兩次,這就是所謂的「雙重釋放」漏洞。 請注意,一般來說,建立及使用不受信任的輸入所生成的 Regexp 物件是不安全的。然而,在此次請況下,經過全面的評估,我們將其視為一個風險。

請升級 Ruby 至 3.0.4 或 3.1.2。

受影響版本

  • ruby 3.0.3 及更早版本
  • ruby 3.1.1 及更早版本

請注意,ruby 2.6 系列以及 2.7 系列並未受到影響。

致謝

感謝 piao 回報此問題。

歷史

  • 最初發佈於 2022-04-12 12:00:00 (UTC)