Skip to content
OpenAdvisories
Critical · 9.8 CVE-2018-16395 EUVD-2022-4596GHSA-mmrq-6999-72v8

Ruby Openssl Allows Incorrect Value Comparison

Published Nov 16, 2018 · Updated Aug 5, 2024 · Assigned by mitre

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.

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 9 ruby2.3 2.3.3-1+deb9u4 DSA-4332-1
Debian 8 ruby2.1 2.1.5-2+deb8u6 DLA-1558-1
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS ruby2.5 2.5.1-1ubuntu1.1 USN-3808-1
Ubuntu 16.04 LTS ruby2.3 2.3.1-2~16.04.11 USN-3808-1
Ubuntu 14.04 LTS ruby1.9.1 1.9.3.484-2ubuntu1.13 USN-3808-1
Ubuntu 14.04 LTS ruby2.0 2.0.0.484-1ubuntu2.11 USN-3808-1
ReleasePackageFixed inAdvisory
RHEL 7 ruby +5 2.0.0.648-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-bigdecimal 1.2.0-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-io-console 0.4.2-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-json 1.7.7-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-minitest 4.3.2-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-psych 2.0.0-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-rake 0.9.6-34.el7_6 RHSA-2018:3738
RHEL 7 rubygem-rdoc 4.0.0-34.el7_6 RHSA-2018:3738
RHEL 7 rubygems +1 2.0.14.1-34.el7_6 RHSA-2018:3738
RHEL 3 rh-ruby23-ruby +5 2.3.8-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-bigdecimal 1.2.8-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-did_you_mean 1.0.0-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-io-console 0.4.5-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-json 1.8.3.1-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-minitest 5.8.5-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-net-telnet 0.1.1-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-power_assert 0.2.6-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-psych 2.1.0.1-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-rake 10.4.2-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-rdoc 4.2.1-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygem-test-unit 3.1.5-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby23-rubygems +1 2.5.2.3-69.el6 RHSA-2018:3729
RHEL 3 rh-ruby24-ruby +4 2.4.5-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-bigdecimal 1.3.2-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-did_you_mean 1.1.0-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-io-console 0.4.6-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-json 2.0.4-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-minitest 5.10.1-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-net-telnet 0.1.1-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-openssl 2.0.9-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-power_assert 0.4.1-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-psych 2.2.2-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-rake 12.0.0-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-rdoc 5.0.0-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-test-unit 3.2.3-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygem-xmlrpc 0.2.1-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby24-rubygems +1 2.6.14.3-91.el6 RHSA-2018:3730
RHEL 3 rh-ruby25-ruby +4 2.5.3-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-bigdecimal 1.3.4-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-did_you_mean 1.2.0-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-io-console 0.4.6-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-json 2.1.0-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-minitest 5.10.3-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-net-telnet 0.1.1-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-openssl 2.1.2-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-power_assert 1.1.1-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-psych 3.0.2-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-rake 12.3.0-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-rdoc 6.0.1-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-test-unit 3.2.7-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygem-xmlrpc 0.3.0-6.el7 RHSA-2018:3731
RHEL 3 rh-ruby25-rubygems +1 2.7.6-6.el7 RHSA-2018:3731
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 7.5 EUS ruby +5 2.0.0.648-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-bigdecimal 1.2.0-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-io-console 0.4.2-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-json 1.7.7-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-minitest 4.3.2-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-psych 2.0.0-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-rake 0.9.6-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygem-rdoc 4.0.0-34.el7_5 RHSA-2019:2565
RHEL 7.5 EUS rubygems +1 2.0.14.1-34.el7_5 RHSA-2019:2565
RHEL 7.4 EUS ruby +5 2.0.0.648-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-bigdecimal 1.2.0-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-io-console 0.4.2-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-json 1.7.7-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-minitest 4.3.2-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-psych 2.0.0-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-rake 0.9.6-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygem-rdoc 4.0.0-34.el7_4 RHSA-2019:1948
RHEL 7.4 EUS rubygems +1 2.0.14.1-34.el7_4 RHSA-2019:1948
ReleasePackageFixed inAdvisory
SLES 15 SP1 ruby2.5 2.5.5-4.3.1 SUSE-SU-2019:1804-1
SLES 15 ruby2.5 2.5.5-4.3.1 SUSE-SU-2019:1804-1
SLES 12 SP5 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES 12 SP4 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES 12 SP3 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
Show 11 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 12 SP2 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES 12 SP2 yast2-ruby-bindings 3.1.53-9.8.1 SUSE-SU-2020:1570-1
SUSE WebYast 1.3 ruby 1.8.7.p357-0.9.20.3.1 SUSE-SU-2022:15034-1
SLES for SAP 12 SP5 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES for SAP 12 SP4 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES for SAP 12 SP3 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES for SAP 12 SP2 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SLES for SAP 12 SP2 yast2-ruby-bindings 3.1.53-9.8.1 SUSE-SU-2020:1570-1
SUSE OpenStack Cloud Crowbar 8 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SUSE OpenStack Cloud 8 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SUSE OpenStack Cloud 7 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SUSE OpenStack Cloud 7 yast2-ruby-bindings 3.1.53-9.8.1 SUSE-SU-2020:1570-1
SUSE HPE Helion OpenStack 8 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
SUSE Enterprise Storage 5 ruby2.1 2.1.9-19.3.2 SUSE-SU-2020:1570-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.1 ruby-bundled-gems-rpmhelper 0.0.2-lp151.2.1 openSUSE-SU-2019:1771-1
openSUSE Leap 15.1 ruby2.5 2.5.5-lp151.4.3.1 openSUSE-SU-2019:1771-1
openSUSE Leap 15.0 ruby-bundled-gems-rpmhelper 0.0.2-lp151.2.1 openSUSE-SU-2019:1771-1
openSUSE Leap 15.0 ruby2.5 2.5.5-lp151.4.3.1 openSUSE-SU-2019:1771-1
ReleasePackageFixed inAdvisory
Alpine v3.24 ruby 2.5.2-r0 —
Alpine v3.23 ruby 2.5.2-r0 —
Alpine v3.22 ruby 2.5.2-r0 —
Alpine v3.21 ruby 2.5.2-r0 —
Alpine v3.20 ruby 2.5.2-r0 —
Show 15 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 ruby 2.5.2-r0 —
Alpine v3.18 ruby 2.5.2-r0 —
Alpine v3.17 ruby 2.5.2-r0 —
Alpine v3.16 ruby 2.5.2-r0 —
Alpine v3.15 ruby 2.5.2-r0 —
Alpine v3.14 ruby 2.5.2-r0 —
Alpine v3.13 ruby 2.5.2-r0 —
Alpine v3.12 ruby 2.5.2-r0 —
Alpine v3.11 ruby 2.5.2-r0 —
Alpine v3.9 ruby 2.5.2-r0 —
Alpine v3.8 ruby 2.5.2-r0 —
Alpine v3.7 ruby 2.4.5-r0 —
Alpine v3.6 ruby 2.4.5-r0 —
Alpine v3.5 ruby 2.3.8-r0 —
Alpine v3.4 ruby 2.3.8-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 ruby +5 2.0.0.648-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-bigdecimal 1.2.0-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-io-console 0.4.2-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-json 1.7.7-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-minitest 4.3.2-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-psych 2.0.0-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-rake 0.9.6-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygem-rdoc 4.0.0-34.amzn2.0.1 ALAS2-2019-1143
Amazon Linux 2 rubygems +1 2.0.14.1-34.amzn2.0.1 ALAS2-2019-1143

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 7 ruby +5 2.0.0.648-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-bigdecimal 1.2.0-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-io-console 0.4.2-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-json 1.7.7-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-minitest 4.3.2-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-psych 2.0.0-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-rake 0.9.6-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygem-rdoc 4.0.0-34.el7_6 ELSA-2018-3738
Oracle Linux 7 rubygems +1 2.0.14.1-34.el7_6 ELSA-2018-3738

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems openssl < 2.0.9 2.0.9 GHSA-mmrq-6999-72v8
RubyGems openssl >= 2.1.0, < 2.1.2 2.1.2 GHSA-mmrq-6999-72v8

Advisories 15

References