CVE-2018-16395 describes a critical vulnerability in the OpenSSL library used by Ruby versions before 2.3.8, 2.4.5, 2.5.2, and 2.6.0-preview3, affecting products from Canonical, Debian, Red Hat, and Ruby_lang. This flaw allows non-equal OpenSSL::X509::Name objects to be incorrectly identified as equal during comparison, potentially enabling the acceptance of illegitimate certificates for signing or encryption. With a CVSS score of 9.8 (CRITICAL), this vulnerability presents a high risk due to its network-based attack vector, low attack complexity, and severe impact on confidentiality, integrity, and availability. Despite its criticality, there is no evidence of active exploitation, public exploit code (Metasploit, Nuclei, ExploitDB), or significant community discussion or media coverage.
| Vendor | Product | Version(s) | CPE |
|---|---|---|---|
< 2.1.2CPE matchmatch criteria | cpe:2.3:a:ruby-lang:openssl:*:*:*:*:*:ruby:*:* | ||
>= 2.3.0, <= 2.3.7CPE matchmatch criteria | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* | ||
>= 2.4.0, <= 2.4.4CPE matchmatch criteria | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* | ||
>= 2.5.0, <= 2.5.1CPE matchmatch criteria | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* | ||
2.6.0CPE matchmatch criteria | cpe:2.3:a:ruby-lang:ruby:2.6.0:preview1:*:*:*:*:*:* |
CVSS version used by this source: 3.0
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
The average CVE in this peer group has 0.0 Twitter, 0.1 Reddit, 0.3 Bluesky, 0.3 Mastodon, and 2.4 GitHub mentions.
No media coverage found for this CVE.
The average CVE in this peer group has 0.3 InfoSec Media, 0.0 Vendor Blog, and 0.0 Security Researcher mentions.
Ruby Openssl Allows Incorrect Value Comparison
May 13, 2022CVE-2018-16395
Sep 8, 2020An issue was discovered in the OpenSSL library in Ruby before 2.3.8 2.4.x before 2.4.5 2.5.x before 2.5.2 and 2.6.x before 2.6.0-preview3. When two OpenSSL::X509::Name objects are compared using == depending on the ordering non-equal objects may return true. When the first argument is one character longer than the second or the second argument contains a character that is one less than a character in the same position of the first argument the result of == will be true. This could be leveraged to create an illegitimate certificate that may be accepted as legitimate and then used in signing or encryption operations.
Nov 13, 2018ruby: OpenSSL::X509:: Name equality check does not work correctly
Oct 17, 2018