Description
DL::dlopen in Ruby 1.8, 1.9.0, 1.9.2, 1.9.3, 2.0.0 before patchlevel 648, and 2.1 before 2.1.8 opens libraries with tainted names.
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 ↗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 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 3 | rh-ruby22-ruby +5 | 2.2.9-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-bigdecimal | 1.2.6-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-io-console | 0.4.3-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-json | 1.8.1.1-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-minitest | 5.4.3-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-power_assert | 0.2.2-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-psych | 2.0.8.1-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-rake | 10.4.2-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-rdoc | 4.2.0-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygem-test-unit | 3.0.8-19.el6 | RHSA-2018:0583 |
| RHEL 3 | rh-ruby22-rubygems +1 | 2.4.5.4-19.el6 | RHSA-2018:0583 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Hardened Images 1 | ruby3.3 +5 | 3.3.10-23.1.hum1 | RHSA-2026:7305 |
| Red Hat Hardened Images 1 | ruby3.4 +5 | 3.4.8-31.1.hum1 | RHSA-2026:7307 |
| Red Hat Hardened Images 1 | ruby4.0 +5 | 4.0.0-33.3.hum1 | RHSA-2026:8838 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE Studio Onsite 1.3 | ruby19 | 1.9.3.p392-0.23.1 | SUSE-SU-2015:1889-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 2 repositories
-
zhangyongbo100/-Ruby-dl-handle.c-CVE-2009-5147- ★ 0 · Apr 25, 2019
-
vpereira/CVE-2009-5147 ★ 0 · Mar 14, 2017
poc for CVE-2009-5147
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 8
- RHSA-2026:7305 Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update Red Hat Security Advisories (RHSA) · Oct 6, 2026
- RHSA-2026:8838 Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update Red Hat Security Advisories (RHSA) · Oct 6, 2026
- RHSA-2026:7307 Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update Red Hat Security Advisories (RHSA) · Oct 6, 2026
- RHSA-2018:0583 Red Hat Security Advisory: rh-ruby22-ruby security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- USN-3365-1 ruby1.9.1, ruby2.0, ruby2.3 vulnerabilities Ubuntu Security Notices (USN) · Apr 27, 2026
- DLA-300-1 ruby1.9.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-299-1 ruby1.8 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- SUSE-SU-2015:1889-1 Security update for ruby19 SUSE / openSUSE Security Updates · Feb 4, 2026
References
- https://github.com/ruby/ruby/commit/4600cf725a86ce31266153647ae5aa1197b1215b
- [oss-security] 20150728 Re: CVE request: Two ruby 'dl' vulnerabilities fixed in ruby-1.9.1-p129 mailing-list
- https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/
- RHSA-2018:0583 vendor-advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=1248935
- 76060 vdb-entry