Every CVE Search/ Get API key

CVE-2009-5147

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...

7.3 HighPublic exploitFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
Low

Exploit likelihood

7.83%Down 1.1 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 7.3

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.

Record
CVE-2009-5147
CVSS 3.0
7.3 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-20
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2009-5147
Updated
2026-11-02
EUVDEUVD-2009-5101 No score

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.

Record
EUVD-2009-5101
Updated
2026-11-03
GitHub AdvisoriesGHSA-mmq8-m72q-qgm4 7.3

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...

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.

Record
GHSA-mmq8-m72q-qgm4
CVSS 3.0
7.3 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-20
Updated
2026-11-02
OSVRHSA-2018:0583 8.1

Red Hat Security Advisory: rh-ruby22-ruby security, bug fix, and enhancement update

Record
RHSA-2018:0583
CVSS 3.0
8.1 HighCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:7305 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:7305
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
Show 5 moreShow less
OSVRHSA-2026:7307 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:7307
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:8838 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:8838
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2009-5147 7.3

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.

Record
UBUNTU-CVE-2009-5147
CVSS 3.0
7.3 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVSUSE-SU-2015:1889-1 No score

Security update for ruby19

ruby19 was updated to fix two security issues.

The following vulnerabilities were fixed:

  • CVE-2015-1855: Ruby OpenSSL hostname verification was too permissive (bsc#926974).
  • CVE-2009-5147: DL::dlopen could have loaded a library with tainted library name even if $SAFE > 0 (bsc#939860).
Record
SUSE-SU-2015:1889-1
Updated
2026-11-02
OSVUSN-3365-1 No score

ruby1.9.1, ruby2.0, ruby2.3 vulnerabilities

It was discovered that Ruby DL::dlopen incorrectly handled opening libraries. An attacker could possibly use this issue to open libraries with tainted names. This issue only applied to Ubuntu 14.04 LTS. (CVE-2009-5147)

Tony Arcieri, Jeffrey Walton, and Steffan Ullrich discovered that the Ruby OpenSSL extension incorrectly handled hostname wildcard matching. This issue only applied to Ubuntu 14.04 LTS. (CVE-2015-1855)

Christian Hofstaedtler discovered that Ruby Fiddle::Handle incorrectly handled certain crafted strings. An attacker could use this issue to cause a denial of service, or possibly execute arbitrary code. This issue only applied to Ubuntu 14.04 LTS. (CVE-2015-7551)

It was discovered that Ruby Net::SMTP incorrectly handled CRLF sequences. A remote attacker could possibly use this issue to inject SMTP commands. (CVE-2015-9096)

Marcin Noga discovered that Ruby incorrectly handled certain arguments in a TclTkIp class method. An attacker could possibly use this issue to execute arbitrary code. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-2337)

It was discovered that Ruby Fiddle::Function.new incorrectly handled certain arguments. An attacker could possibly use this issue to execute arbitrary code. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-2339)

It was discovered that Ruby incorrectly handled the initialization vector (IV) in GCM mode. An attacker could possibly use this issue to bypass encryption. (CVE-2016-7798)

Record
USN-3365-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ruby1.8
Debian:6.0
before 1.8.7.302-2squeeze5, plus listed versions
1.8.7.302-21.8.7.302-2squeeze11.8.7.302-2squeeze21.8.7.302-2squeeze31.8.7.302-2squeeze4
1.8.7.302-2squeeze5
ruby1.9.1
Debian:6.0
before 1.9.2.0-2+deb6u7, plus listed versions
1.9.2.0-21.9.2.0-2+armhf
1.9.2.0-2+deb6u7
rh-ruby22-ruby
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-ruby-debuginfo
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-ruby-devel
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-ruby-doc
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-ruby-irb
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-ruby-libs
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-ruby-tcltk
Red Hat:rhel_software_collections:3::el6
before 0:2.2.9-19.el6
0:2.2.9-19.el6
rh-ruby22-rubygem-bigdecimal
Red Hat:rhel_software_collections:3::el6
before 0:1.2.6-19.el6
0:1.2.6-19.el6
Show 50 moreShow less
Affected packages
PackageAffectedFixed
rh-ruby22-rubygem-io-console
Red Hat:rhel_software_collections:3::el6
before 0:0.4.3-19.el6
0:0.4.3-19.el6
rh-ruby22-rubygem-json
Red Hat:rhel_software_collections:3::el6
before 0:1.8.1.1-19.el6
0:1.8.1.1-19.el6
rh-ruby22-rubygem-minitest
Red Hat:rhel_software_collections:3::el6
before 0:5.4.3-19.el6
0:5.4.3-19.el6
rh-ruby22-rubygem-power_assert
Red Hat:rhel_software_collections:3::el6
before 0:0.2.2-19.el6
0:0.2.2-19.el6
rh-ruby22-rubygem-psych
Red Hat:rhel_software_collections:3::el6
before 0:2.0.8.1-19.el6
0:2.0.8.1-19.el6
rh-ruby22-rubygem-rake
Red Hat:rhel_software_collections:3::el6
before 0:10.4.2-19.el6
0:10.4.2-19.el6
rh-ruby22-rubygem-rdoc
Red Hat:rhel_software_collections:3::el6
before 0:4.2.0-19.el6
0:4.2.0-19.el6
rh-ruby22-rubygem-test-unit
Red Hat:rhel_software_collections:3::el6
before 0:3.0.8-19.el6
0:3.0.8-19.el6
rh-ruby22-rubygems
Red Hat:rhel_software_collections:3::el6
before 0:2.4.5.4-19.el6
0:2.4.5.4-19.el6
rh-ruby22-rubygems-devel
Red Hat:rhel_software_collections:3::el6
before 0:2.4.5.4-19.el6
0:2.4.5.4-19.el6
rh-ruby22-ruby
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-ruby-debuginfo
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-ruby-devel
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-ruby-doc
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-ruby-irb
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-ruby-libs
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-ruby-tcltk
Red Hat:rhel_software_collections:3::el7
before 0:2.2.9-19.el7
0:2.2.9-19.el7
rh-ruby22-rubygem-bigdecimal
Red Hat:rhel_software_collections:3::el7
before 0:1.2.6-19.el7
0:1.2.6-19.el7
rh-ruby22-rubygem-io-console
Red Hat:rhel_software_collections:3::el7
before 0:0.4.3-19.el7
0:0.4.3-19.el7
rh-ruby22-rubygem-json
Red Hat:rhel_software_collections:3::el7
before 0:1.8.1.1-19.el7
0:1.8.1.1-19.el7
rh-ruby22-rubygem-minitest
Red Hat:rhel_software_collections:3::el7
before 0:5.4.3-19.el7
0:5.4.3-19.el7
rh-ruby22-rubygem-power_assert
Red Hat:rhel_software_collections:3::el7
before 0:0.2.2-19.el7
0:0.2.2-19.el7
rh-ruby22-rubygem-psych
Red Hat:rhel_software_collections:3::el7
before 0:2.0.8.1-19.el7
0:2.0.8.1-19.el7
rh-ruby22-rubygem-rake
Red Hat:rhel_software_collections:3::el7
before 0:10.4.2-19.el7
0:10.4.2-19.el7
rh-ruby22-rubygem-rdoc
Red Hat:rhel_software_collections:3::el7
before 0:4.2.0-19.el7
0:4.2.0-19.el7
rh-ruby22-rubygem-test-unit
Red Hat:rhel_software_collections:3::el7
before 0:3.0.8-19.el7
0:3.0.8-19.el7
rh-ruby22-rubygems
Red Hat:rhel_software_collections:3::el7
before 0:2.4.5.4-19.el7
0:2.4.5.4-19.el7
rh-ruby22-rubygems-devel
Red Hat:rhel_software_collections:3::el7
before 0:2.4.5.4-19.el7
0:2.4.5.4-19.el7
ruby3.3
Red Hat:hummingbird:1
before 0:3.3.10-23.1.hum1
0:3.3.10-23.1.hum1
ruby3.3-bundled-gems
Red Hat:hummingbird:1
before 0:3.3.10-23.1.hum1
0:3.3.10-23.1.hum1
ruby3.3-default-gems
Red Hat:hummingbird:1
before 0:3.3.10-23.1.hum1
0:3.3.10-23.1.hum1
ruby3.3-devel
Red Hat:hummingbird:1
before 0:3.3.10-23.1.hum1
0:3.3.10-23.1.hum1
ruby3.3-doc
Red Hat:hummingbird:1
before 0:3.3.10-23.1.hum1
0:3.3.10-23.1.hum1
ruby3.3-libs
Red Hat:hummingbird:1
before 0:3.3.10-23.1.hum1
0:3.3.10-23.1.hum1
ruby3.4
Red Hat:hummingbird:1
before 0:3.4.8-31.1.hum1
0:3.4.8-31.1.hum1
ruby3.4-bundled-gems
Red Hat:hummingbird:1
before 0:3.4.8-31.1.hum1
0:3.4.8-31.1.hum1
ruby3.4-default-gems
Red Hat:hummingbird:1
before 0:3.4.8-31.1.hum1
0:3.4.8-31.1.hum1
ruby3.4-devel
Red Hat:hummingbird:1
before 0:3.4.8-31.1.hum1
0:3.4.8-31.1.hum1
ruby3.4-doc
Red Hat:hummingbird:1
before 0:3.4.8-31.1.hum1
0:3.4.8-31.1.hum1
ruby3.4-libs
Red Hat:hummingbird:1
before 0:3.4.8-31.1.hum1
0:3.4.8-31.1.hum1
ruby4.0
Red Hat:hummingbird:1
before 0:4.0.0-33.3.hum1
0:4.0.0-33.3.hum1
ruby4.0-bundled-gems
Red Hat:hummingbird:1
before 0:4.0.0-33.3.hum1
0:4.0.0-33.3.hum1
ruby4.0-default-gems
Red Hat:hummingbird:1
before 0:4.0.0-33.3.hum1
0:4.0.0-33.3.hum1
ruby4.0-devel
Red Hat:hummingbird:1
before 0:4.0.0-33.3.hum1
0:4.0.0-33.3.hum1
ruby4.0-doc
Red Hat:hummingbird:1
before 0:4.0.0-33.3.hum1
0:4.0.0-33.3.hum1
ruby4.0-libs
Red Hat:hummingbird:1
before 0:4.0.0-33.3.hum1
0:4.0.0-33.3.hum1
ruby19
SUSE:Studio Onsite 1.3
before 1.9.3.p392-0.23.1
1.9.3.p392-0.23.1
ruby1.9.1
Ubuntu:14.04:LTS
before 1.9.3.484-2ubuntu1.3, plus listed versions
1.9.3.194-8.1ubuntu21.9.3.448-1ubuntu11.9.3.448-1ubuntu21.9.3.484-1ubuntu11.9.3.484-1ubuntu21.9.3.484-2ubuntu11.9.3.484-2ubuntu1.11.9.3.484-2ubuntu1.2
1.9.3.484-2ubuntu1.3
ruby2.0
Ubuntu:14.04:LTS
before 2.0.0.484-1ubuntu2.4, plus listed versions
2.0.0.299-22.0.0.343-12.0.0.343-1ubuntu12.0.0.353-12.0.0.353-1ubuntu1
Show 4 moreShow less
2.0.0.484-1ubuntu12.0.0.484-1ubuntu22.0.0.484-1ubuntu2.12.0.0.484-1ubuntu2.2
2.0.0.484-1ubuntu2.4
ruby2.3
Ubuntu:16.04:LTS
before 2.3.1-2~16.04.2, plus listed versions
2.3.0-12.3.0-22.3.0-4ubuntu22.3.0-4ubuntu32.3.0-5ubuntu12.3.1-2~16.04
2.3.1-2~16.04.2

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubvpereira/CVE-2009-51472017-03-14
PoC in GitHubzhangyongbo100/-Ruby-dl-handle.c-CVE-2009-5147-2019-04-25

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2009-5147 is a high vulnerability (CVSS 7.3) in Ruby-lang Ruby, published August 26, 2015. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 7.83%, the 94th percentile. Fixed in ruby1.8 1.8.7.302-2squeeze5.

References

Show 194 moreShow less
This page doesn't list everything

Left out here: 26 references. The JSON record has them.

MoveEnter Open