{"id":"UBUNTU-CVE-2018-16395","details":"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.","modified":"2026-04-22T11:46:49.691589Z","published":"2018-10-26T00:00:00Z","related":["USN-3808-1"],"upstream":["CVE-2018-16395"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2018-16395"},{"type":"REPORT","url":"https://www.ruby-lang.org/en/news/2018/10/17/openssl-x509-name-equality-check-does-not-work-correctly-cve-2018-16395/"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-3808-1"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2018-16395"}],"affected":[{"package":{"name":"ruby1.9.1","ecosystem":"Ubuntu:14.04:LTS","purl":"pkg:deb/ubuntu/ruby1.9.1@1.9.3.484-2ubuntu1.13?arch=source&distro=trusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.9.3.484-2ubuntu1.13"}]}],"versions":["1.9.3.194-8.1ubuntu2","1.9.3.448-1ubuntu1","1.9.3.448-1ubuntu2","1.9.3.484-1ubuntu1","1.9.3.484-1ubuntu2","1.9.3.484-2ubuntu1","1.9.3.484-2ubuntu1.1","1.9.3.484-2ubuntu1.2","1.9.3.484-2ubuntu1.3","1.9.3.484-2ubuntu1.5","1.9.3.484-2ubuntu1.6","1.9.3.484-2ubuntu1.7","1.9.3.484-2ubuntu1.8","1.9.3.484-2ubuntu1.10","1.9.3.484-2ubuntu1.11","1.9.3.484-2ubuntu1.12"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby1.9.1","binary_version":"1.9.3.484-2ubuntu1.13"},{"binary_name":"libtcltk-ruby1.9.1","binary_version":"1.9.3.484-2ubuntu1.13"},{"binary_name":"ri1.9.1","binary_version":"1.9.3.484-2ubuntu1.13"},{"binary_name":"ruby1.9.1","binary_version":"1.9.3.484-2ubuntu1.13"},{"binary_name":"ruby1.9.1-examples","binary_version":"1.9.3.484-2ubuntu1.13"},{"binary_name":"ruby1.9.1-full","binary_version":"1.9.3.484-2ubuntu1.13"},{"binary_name":"ruby1.9.3","binary_version":"1.9.3.484-2ubuntu1.13"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2018/UBUNTU-CVE-2018-16395.json"}},{"package":{"name":"ruby2.0","ecosystem":"Ubuntu:14.04:LTS","purl":"pkg:deb/ubuntu/ruby2.0@2.0.0.484-1ubuntu2.11?arch=source&distro=trusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.0.484-1ubuntu2.11"}]}],"versions":["2.0.0.299-2","2.0.0.343-1","2.0.0.343-1ubuntu1","2.0.0.353-1","2.0.0.353-1ubuntu1","2.0.0.484-1ubuntu1","2.0.0.484-1ubuntu2","2.0.0.484-1ubuntu2.1","2.0.0.484-1ubuntu2.2","2.0.0.484-1ubuntu2.4","2.0.0.484-1ubuntu2.5","2.0.0.484-1ubuntu2.6","2.0.0.484-1ubuntu2.8","2.0.0.484-1ubuntu2.9","2.0.0.484-1ubuntu2.10"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby2.0","binary_version":"2.0.0.484-1ubuntu2.11"},{"binary_name":"ruby2.0","binary_version":"2.0.0.484-1ubuntu2.11"},{"binary_name":"ruby2.0-tcltk","binary_version":"2.0.0.484-1ubuntu2.11"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2018/UBUNTU-CVE-2018-16395.json"}},{"package":{"name":"ruby2.3","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/ruby2.3@2.3.1-2~16.04.11?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.1-2~16.04.11"}]}],"versions":["2.3.0-1","2.3.0-2","2.3.0-4ubuntu2","2.3.0-4ubuntu3","2.3.0-5ubuntu1","2.3.1-2~16.04","2.3.1-2~16.04.2","2.3.1-2~16.04.4","2.3.1-2~16.04.5","2.3.1-2~16.04.6","2.3.1-2~16.04.7","2.3.1-2~16.04.9","2.3.1-2~16.04.10"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby2.3","binary_version":"2.3.1-2~16.04.11"},{"binary_name":"ruby2.3","binary_version":"2.3.1-2~16.04.11"},{"binary_name":"ruby2.3-tcltk","binary_version":"2.3.1-2~16.04.11"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2018/UBUNTU-CVE-2018-16395.json"}},{"package":{"name":"ruby2.5","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/ruby2.5@2.5.1-1ubuntu1.1?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.1-1ubuntu1.1"}]}],"versions":["2.5.0~preview1-1ubuntu2","2.5.0-4ubuntu1","2.5.0-4ubuntu4","2.5.0-5ubuntu1","2.5.0-6ubuntu1","2.5.1-1ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby2.5","binary_version":"2.5.1-1ubuntu1.1"},{"binary_name":"ruby2.5","binary_version":"2.5.1-1ubuntu1.1"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2018/UBUNTU-CVE-2018-16395.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}