Description
verify_certificate_identity in the OpenSSL extension in Ruby before 2.0.0 patchlevel 645, 2.1.x before 2.1.6, and 2.2.x before 2.2.2 does not properly validate hostnames, which allows remote attackers to spoof servers via vectors related to (1) multiple wildcards, (1) wildcards in IDNA names, (3) case sensitivity, and (4) non-ASCII characters.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Ruby | Ruby | before 2.0.0 patchlevel 645, 2.1.x before 2.1.6, and 2.2.x before 2.2.2 | — |
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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 8 | ruby2.1 | 2.1.5-2+deb8u1 | DSA-3247-1 |
| Debian 7 | ruby1.8 | 1.8.7.358-7.1+deb7u3 | DSA-3245-1 |
| Debian 7 | ruby1.9.1 | 1.9.3.194-8.1+deb7u5 | DSA-3246-1 |
| Debian 6.0 | ruby1.8 | 1.8.7.302-2squeeze4 | DLA-224-1 |
| Debian 6.0 | ruby1.9.1 | 1.9.2.0-2+deb6u4 | DLA-235-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | ruby2.3 | 2.3.1-2~16.04.2 | USN-3365-1 |
| Ubuntu 14.04 LTS | ruby1.9.1 | 1.9.3.484-2ubuntu1.3 | USN-3365-1 |
| Ubuntu 14.04 LTS | ruby2.0 | 2.0.0.484-1ubuntu2.4 | USN-3365-1 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 12 SP2 | ruby2.1 | 2.1.9-15.1 | SUSE-SU-2017:1067-1 |
| SLES 12 SP1 | ruby2.1 | 2.1.9-15.1 | SUSE-SU-2017:1067-1 |
| SLES 11 SP4 | ruby | 1.8.7.p357-0.9.19.1 | SUSE-SU-2017:0948-1 |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE WebYast 1.3 | ruby | 1.8.7.p357-0.9.19.1 | SUSE-SU-2017:0948-1 |
| SUSE Studio Onsite 1.3 | ruby | 1.8.7.p357-0.9.19.1 | SUSE-SU-2017:0948-1 |
| SUSE Studio Onsite 1.3 | ruby19 | 1.9.3.p392-0.23.1 | SUSE-SU-2015:1889-1 |
| SLES for SAP 12 SP2 | ruby2.1 | 2.1.9-15.1 | SUSE-SU-2017:1067-1 |
| SLES for SAP 12 SP1 | ruby2.1 | 2.1.9-15.1 | SUSE-SU-2017:1067-1 |
| SLES for SAP 11 SP4 | ruby | 1.8.7.p357-0.9.19.1 | SUSE-SU-2017:0948-1 |
| SUSE Lifecycle Management Server 1.3 | ruby | 1.8.7.p357-0.9.19.1 | SUSE-SU-2017:0948-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | ruby2.2 | 2.2.5-1.5 | openSUSE-SU-2024:10481-1 |
| openSUSE Tumbleweed | ruby2.3 | 2.3.1-1.6 | openSUSE-SU-2024:10090-1 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 1 repository
-
vpereira/CVE-2015-1855 ★ 0 · Mar 14, 2017
poc for CVE-2015-1855
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 11
- USN-3365-1 ruby1.9.1, ruby2.0, ruby2.3 vulnerabilities Ubuntu Security Notices (USN) · Apr 27, 2026
- DSA-3245-1 ruby1.8 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-3246-1 ruby1.9.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-3247-1 ruby2.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-235-1 ruby1.9.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-224-1 ruby1.8 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- openSUSE-SU-2024:10090-1 libruby2_3-2_3-2.3.1-1.6 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2015:1889-1 Security update for ruby19 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2017:1067-1 Security update for ruby2.1 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2017:0948-1 Security update for ruby SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10481-1 libruby2_2-2_2-2.2.5-1.5 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
References
- http://www.debian.org/security/2015/dsa-3247
- http://www.debian.org/security/2015/dsa-3245
- http://www.debian.org/security/2015/dsa-3246
- https://www.ruby-lang.org/en/news/2015/04/13/ruby-openssl-hostname-matching-vulnerability/
- https://puppetlabs.com/security/cve/cve-2015-1855
- https://bugs.ruby-lang.org/issues/9644