发布者:usa,于 2018 年 10 月 17 日
Ruby 捆绑的 openssl 扩展库中的 OpenSSL::X509::Name
相等性检查不正确。此漏洞已被分配 CVE 标识符 CVE-2018-16395。
详细信息
OpenSSL::X509::Name
的实例包含 CN、C 等实体。只有当所有实体完全相等时,两个 OpenSSL::X509::Name
实例才相等。但是,如果参数(右侧)的实体值以接收者(左侧)的值开头,则相等性检查不正确的错误。因此,如果将恶意的 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 及更早版本
- 早于主干修订版 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)
- 在 2018-10-19 00:00:00 (UTC) 提及主干的修复修订版