CVE-2018-16395: OpenSSL::X509::Name 相等性检查不正确
由 usa 于 2018 年 10 月 17 日发布
Ruby 附带的 openssl 扩展库中 OpenSSL::X509::Name 的相等性检查不正确。此漏洞已分配 CVE 标识符 CVE-2018-16395。
详情
OpenSSL::X509::Name 实例包含 CN、C 等实体。当所有实体都完全相等时,两个 OpenSSL::X509::Name 实例才被认为是相等的。然而,存在一个 bug,如果参数(右侧)的实体值以接收者(左侧)的值开头,则相等性检查不正确。因此,如果一个恶意的 X.509 证书被用来与现有证书进行比较,则有可能被错误地判断为相等。
强烈建议 Ruby 用户尽快升级您的 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 及更早版本
- trunk r65139 版本之前
变通方法
openssl 2.1.2 gem 或更高版本包含了针对该漏洞的修复。因此,如果您使用的是 Ruby 2.4 或更高系列,请将 openssl gem 升级到最新版本。
gem install openssl -v ">= 2.1.2"
但是,在 Ruby 2.3 系列中,您无法使用 openssl gem 覆盖捆绑的 openssl 版本。请将您的 Ruby 安装升级到最新版本。
致谢
感谢 Tyler Eckstein 报告此问题。
历史
- 首次发布于 2018-10-17 14:00:00 (UTC)
- 提及 trunk 的修复版本于 2018-10-19 00:00:00 (UTC)
近期新闻
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 的新默认主题,焕然一新。
由 Stan Lo 发布于 2025 年 12 月 23 日
重新设计我们的网站标识
我们很高兴地宣布对我们的网站进行全面重新设计。此次更新的设计由 Akatsuka Taeko 创作。
由 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 日