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 及更早版本
- SVN 主干早于 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 报告了这一问题。
历史
- 最早发布于 2018-10-17 14:00:00 (UTC)
最新消息
全新的 Ruby 文档界面
继 重新设计 ruby-lang.org之后, 我们还有更多消息来庆祝 Ruby 诞生 30 周年:docs.ruby-lang.org 采用了全新的、RDoc 的 Aliki 默认主题。
由 Stan Lo 发表于 2025-12-23
重新设计我们的网站标识
我们激动地宣布网站已经全面改版。此次更新的设计方案由 Taeko Akatsuka (赤塚妙子) 创作。
由 Hiroshi SHIBATA 发表于 2025-12-22
Ruby 4.0.0 preview3 已发布
我们很高兴地宣布 Ruby 4.0.0-preview3 已发布。 Ruby 4.0 引入了 Ruby::Box 和 “ZJIT”,以及若干改进。
由 naruse 发表于 2025-12-18
Ruby 3.4.8 已发布
Ruby 3.4.8 已发布。
由 k0kubun 发表于 2025-12-17