socket 函式庫存在記憶體堆疊資料洩漏風險。此風險的 CVE 識別號為  [CVE-2020-10933](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10933)。我們強烈建議您升級 Ruby。

## 風險細節

當呼叫 `BasicSocket#recv_nonblock` 和 `BasicSocket#read_nonblock` 方法傳入 size 與 buffer 參數時，buffer 會被調整至特定的大小。當執行阻塞式操作時，他們會不拷貝任何資料立即返回。因此，buffer 字串可以帶有堆疊上的任何資料。這可能導致直譯器洩漏機密資料。

在 Linux 上可以重現這個問題。從 Ruby 2.5.0 開始存在此風險，Ruby 2.4 系列版本沒有問題。

## 受影響版本

* Ruby 2.5 系列：Ruby 2.5.7 及更早版本
* Ruby 2.6 系列：Ruby 2.6.5 及更早版本
* Ruby 2.7 系列：2.7.0
* master 早於 61b7f86248bd121be2e83768be71ef289e8e5b90 的提交

## 致謝

感謝 Samuel Williams 回報此問題。

## 歷史

* 最初發佈於 2020-03-31 12:00:00 (UTC)
