ubuntu-cve-2018-16395
Vulnerability from osv_ubuntu
Published
2018-10-26 00:00
Modified
2026-04-22 07:38
Summary
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.
Severity
9.8 (Critical)
N/A (UNKNOWN)
References
{
"affected": [
{
"ecosystem_specific": {
"availability": "No subscription required",
"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"
}
]
},
"package": {
"ecosystem": "Ubuntu:14.04:LTS",
"name": "ruby1.9.1",
"purl": "pkg:deb/ubuntu/ruby1.9.1@1.9.3.484-2ubuntu1.13?arch=source\u0026distro=trusty"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.9.3.484-2ubuntu1.13"
}
],
"type": "ECOSYSTEM"
}
],
"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": {
"availability": "No subscription required",
"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"
}
]
},
"package": {
"ecosystem": "Ubuntu:14.04:LTS",
"name": "ruby2.0",
"purl": "pkg:deb/ubuntu/ruby2.0@2.0.0.484-1ubuntu2.11?arch=source\u0026distro=trusty"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.0.0.484-1ubuntu2.11"
}
],
"type": "ECOSYSTEM"
}
],
"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": {
"availability": "No subscription required",
"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"
}
]
},
"package": {
"ecosystem": "Ubuntu:16.04:LTS",
"name": "ruby2.3",
"purl": "pkg:deb/ubuntu/ruby2.3@2.3.1-2~16.04.11?arch=source\u0026distro=xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.3.1-2~16.04.11"
}
],
"type": "ECOSYSTEM"
}
],
"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": {
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libruby2.5",
"binary_version": "2.5.1-1ubuntu1.1"
},
{
"binary_name": "ruby2.5",
"binary_version": "2.5.1-1ubuntu1.1"
}
]
},
"package": {
"ecosystem": "Ubuntu:18.04:LTS",
"name": "ruby2.5",
"purl": "pkg:deb/ubuntu/ruby2.5@2.5.1-1ubuntu1.1?arch=source\u0026distro=bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.5.1-1ubuntu1.1"
}
],
"type": "ECOSYSTEM"
}
],
"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"
]
}
],
"aliases": [],
"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.",
"id": "UBUNTU-CVE-2018-16395",
"modified": "2026-04-22T07:38:43Z",
"published": "2018-10-26T00:00:00Z",
"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"
}
],
"related": [
"USN-3808-1"
],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2018-16395"
]
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…