CVE-2018-16395: OpenSSL::X509::Name 相等檢查未正常工作
由 usa 發表於 2018-10-17
翻譯: Delton Ding
Ruby 內建的 OpenSSL 庫中 OpenSSL::X509::Name 相等檢查未正常工作。此缺陷已被分配 CVE 編號 CVE-2018-16395。
細節
OpenSSL::X509::Name 實體包含例如 CN、C 等主體。OpenSSL::X509::Name 當且僅當所有主體皆相等時相等。然而有一個漏洞使得當參數(右側)已接收者開頭(左側)時,錯誤判斷兩者相等。當傳入一個惡意的 X.509 證書和已有證書比較時,有可能判斷錯誤兩者相等。
我們高度建議您儘快升級 Ruby 版本,或採取下述臨時方案。
受影響的版本
- Ruby 2.3 系列: 2.3.7 及更早版本
- Ruby 2.4 系列: 2.4.4 及更早版本
- Ruby 2.5 系列: 2.5.1 及更早版本
- Ruby 2.6 系列: 2.6.0-preview2 及更早版本
- 早於 r65139 的全部版本
臨時方案
openssl gem 2.1.2 之後的版本修復了這一缺陷,所以當您正在使用 Ruby 2.4 之後的版本時,直接升級 OpenSSL gem 亦能修復該問題。
gem install openssl -v ">= 2.1.2"
然而在 Ruby 2.3 版本中,你不能覆蓋內建的 OpenSSL gem,請儘快升級 Ruby 到最新版本。
鳴謝
感謝 Tyler Eckstein 回報了這一問題。
歷史
- 最早發佈於 at 2018-10-17 14:00:00 (UTC)
最新消息
Ruby 4.0.0 preview2 發布
我們很高興宣布 Ruby 4.0.0-preview2 發布了。 Ruby 4.0 將 Unicode 版本更新至 17.0.0,以及其他更新。
由 naruse 發表於 2025-11-17
Ruby 3.3.10 發布
Ruby 3.3.10 已經發布了。
由 nagachika 發表於 2025-10-23
移交 RubyGems 程式碼儲存庫的所有權
親愛的 Ruby 社群
由 matz 發表於 2025-10-17
Ruby 3.4.7 發布
Ruby 3.4.7 已經發布了。
由 k0kubun 發表於 2025-10-07