CVE-2018-16395
CVE-2018-16395 is a critical-severity vulnerability in Ruby-lang Openssl with a CVSS 3.x base score of 9.8. Its EPSS exploit-prediction score of 11% places it in the 95th percentile, indicating an elevated likelihood of exploitation.
Key facts
- Severity: Critical (CVSS 3.x base score 9.8)
- CVSS v2: 7.5
- EPSS exploit prediction: 11% (95th percentile)
- Actively exploited: Not listed in CISA KEV
- Affected product: Ruby-lang Openssl
- Published:
- Last modified:
Description
An 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.
Frequently asked questions
- What is CVE-2018-16395?
- An 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.
- How severe is CVE-2018-16395?
- CVE-2018-16395 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2018-16395 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 11% (95th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2018-16395?
- CVE-2018-16395 primarily affects Ruby-lang Openssl. In total, 11 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2018-16395?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- When was CVE-2018-16395 published?
- CVE-2018-16395 was published on 2018-11-16 and last updated on 2026-06-17.
References
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00036.html
- http://www.securitytracker.com/id/1042105
- https://access.redhat.com/errata/RHSA-2018:3729
- https://access.redhat.com/errata/RHSA-2018:3730
- https://access.redhat.com/errata/RHSA-2018:3731
- https://access.redhat.com/errata/RHSA-2018:3738
- https://access.redhat.com/errata/RHSA-2019:1948
- https://access.redhat.com/errata/RHSA-2019:2565
- https://hackerone.com/reports/387250
- https://lists.debian.org/debian-lts-announce/2018/10/msg00020.html
- https://security.netapp.com/advisory/ntap-20190221-0002/
- https://usn.ubuntu.com/3808-1/
- https://www.debian.org/security/2018/dsa-4332
- https://www.oracle.com/security-alerts/cpujan2020.html
- https://www.ruby-lang.org/en/news/2018/10/17/openssl-x509-name-equality-check-does-not-work-correctly-cve-2018-16395/
- https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-3-8-released/
- https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-4-5-released/
- https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-5-2-released/
- https://www.ruby-lang.org/en/news/2018/11/06/ruby-2-6-0-preview3-released/
Affected products (11)
- cpe:2.3:a:ruby-lang:openssl:*:*:*:*:*:ruby:*:*
- cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:*
- cpe:2.3:a:ruby-lang:ruby:2.6.0:preview1:*:*:*:*:*:*
- cpe:2.3:a:ruby-lang:ruby:2.6.0:preview2:*:*:*:*:*:*
- cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*
- cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
- cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
- cpe:2.3:o:canonical:ubuntu_linux:18.10:*:*:*:*:*:*:*
- cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*
- cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
- cpe:2.3:o:redhat:enterprise_linux:7.4:*:*:*:*:*:*:*
More vulnerabilities in Ruby-lang Openssl
- CVE-2016-7798 — High (CVSS 7.5): The openssl gem for Ruby uses the same initialization vector (IV) in GCM Mode (aes-*-gcm) when the IV is set before the…