CVE-2018-8778: String#unpack 緩衝區溢位
由 usa 發表於 2018-03-28
翻譯: Juanito Fatas
String#unpack 方法存在緩衝區溢位的安全性風險。
此風險的 CVE 識別號為 CVE-2018-8778。
細節
String#unpack 收到 format specifiers 為參數時,可用 @ 指定解析資料的位置。若 @ 指定了一個很大的數字,數字會被當成是負數,導致緩衝區溢出。
若腳本使用了 String#unpack 接受外來輸入,攻擊者可以利用此風險讀出 heap 的資料。
所有使用受影響版本的使用者應立即升級。
受影響版本
- Ruby 2.2 系列: 2.2.9 以及之前的版本
- Ruby 2.3 系列: 2.3.6 以及之前的版本
- Ruby 2.4 系列: 2.4.3 以及之前的版本
- Ruby 2.5 系列: 2.5.0 以及之前的版本
- Ruby 2.6 系列: 2.6.0-preview1
- trunk revision r62992 之前的版本
致謝
感謝 aerodudrizzt 回報此問題。
歷史
- 初次發佈於 2018-03-28 14:00:00 (UTC)
最新消息
Ruby 4.0.1 發布
Ruby 4.0.1 已經發布了。
由 k0kubun 發表於 2026-01-13
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