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.
{
"binaries": [
{
"binary_version": "1.9.3.484-2ubuntu1.13",
"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-dev"
},
{
"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"
}
],
"availability": "No subscription required"
}
{
"binaries": [
{
"binary_version": "2.0.0.484-1ubuntu2.11",
"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-dev"
},
{
"binary_version": "2.0.0.484-1ubuntu2.11",
"binary_name": "ruby2.0-tcltk"
}
],
"availability": "No subscription required"
}
{
"binaries": [
{
"binary_version": "2.3.1-2~16.04.11",
"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-dev"
},
{
"binary_version": "2.3.1-2~16.04.11",
"binary_name": "ruby2.3-tcltk"
}
],
"availability": "No subscription required"
}