由 mame 發表於 2020-03-31
翻譯: Juanito Fatas
socket 函式庫存在記憶體堆疊資料洩漏風險。此風險的 CVE 識別號為 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)