CVE-2015-3900
RubyGems vulnerable to DNS hijack attack
CVE-2015-3900 is a medium vulnerability (CVSS 5.0) in Ruby-lang Ruby, published June 24, 2015. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 8.87%, the 95th percentile. Fixed in rubygems-update 2.0.16.
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
Exploit likelihood
What each source reports
NVD Score used
5.0
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
CVE-2015-3900- CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-254
- Updated
- 2026-11-02
CVE List No score
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
CVE-2015-3900- Updated
- 2026-11-02
EUVDEUVD-2022-5611 No score
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
EUVD-2022-5611- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-wp3j-rvfp-624h No score
RubyGems vulnerable to DNS hijack attack
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
GHSA-wp3j-rvfp-624h- Weakness
- CWE-350
- Updated
- 2026-11-02
OSV No score
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
CVE-2015-3900- Updated
- 2026-11-02
OSVDEBIAN-CVE-2015-3900 No score
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
DEBIAN-CVE-2015-3900- Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-wp3j-rvfp-624h No score
RubyGems vulnerable to DNS hijack attack
RubyGems 2.0.x before 2.0.16, 2.2.x before 2.2.4, and 2.4.x before 2.4.7 does not validate the hostname when fetching gems or making API requests, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack."
- Record
GHSA-wp3j-rvfp-624h- Weakness
- CWE-350
- Updated
- 2026-11-02
OSVMGASA-2015-0345 No score
Updated ruby-RubyGems packages fix security vulnerabilities
Updated ruby-RubyGems package fixes security vulnerability:
RubyGems does not validate the hostname when fetching gems or making API request, which allows remote attackers to redirect requests to arbitrary domains via a crafted DNS SRV record, aka a "DNS hijack attack" (CVE-2015-3900).
- Record
MGASA-2015-0345- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10090-1 No score
libruby2_3-2_3-2.3.1-1.6 on GA media
These are all security issues fixed in the libruby2_3-2_3-2.3.1-1.6 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10090-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10481-1 No score
libruby2_2-2_2-2.2.5-1.5 on GA media
These are all security issues fixed in the libruby2_2-2_2-2.2.5-1.5 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10481-1- Updated
- 2026-11-02
OSVSUSE-SU-2017:1067-1 No score
Security update for ruby2.1
This ruby2.1 update to version 2.1.9 fixes the following issues:
Security issues fixed:
- CVE-2016-2339: heap overflow vulnerability in the Fiddle::Function.new'initialize' (bsc#1018808)
- CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL (bsc#959495)
- CVE-2015-3900: hostname validation does not work when fetching gems or making API requests (bsc#936032)
- CVE-2015-1855: Ruby'a OpenSSL extension suffers a vulnerability through overly permissive matching of hostnames (bsc#926974)
- CVE-2014-4975: off-by-one stack-based buffer overflow in the encodes() function (bsc#887877)
Bugfixes:
- SUSEconnect doesn't handle domain wildcards in no_proxy environment variable properly (bsc#1014863)
- Segmentation fault after pack & ioctl & unpack (bsc#909695)
- Ruby:HTTP Header injection in 'net/http' (bsc#986630)
ChangeLog:
- Record
SUSE-SU-2017:1067-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
rubygems-updateRubyGems |
2.0.0 up to 2.0.16 | 2.0.16 |
rubygems-updateRubyGems |
2.2.0 up to 2.2.4 | 2.2.4 |
rubygems-updateRubyGems |
2.4.0 up to 2.4.7 | 2.4.7 |
jrubyDebian:12 |
before 1.7.20.1-2 | 1.7.20.1-2 |
jrubyDebian:13 |
before 1.7.20.1-2 | 1.7.20.1-2 |
jrubyDebian:14 |
before 1.7.20.1-2 | 1.7.20.1-2 |
rubygems-updateRubyGems |
2.0.0 up to 2.0.16, plus listed versions 2.0.102.0.112.0.122.0.132.0.14 Show 9 moreShow less2.0.152.0.22.0.32.0.42.0.52.0.62.0.72.0.82.0.9 |
2.0.16 |
rubygems-updateRubyGems |
2.2.0 up to 2.2.4, plus listed versions 2.2.12.2.22.2.3 |
2.2.4 |
rubygems-updateRubyGems |
2.4.0 up to 2.4.7, plus listed versions 2.4.12.4.22.4.32.4.42.4.52.4.6 |
2.4.7 |
ruby-RubyGemsMageia:4 |
before 2.1.11-3.1.mga4 | 2.1.11-3.1.mga4 |
Show 48 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ruby-RubyGemsMageia:5 |
before 2.1.11-5.1.mga5 | 2.1.11-5.1.mga5 |
rh-ruby22-rubyRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-ruby-debuginfoRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-ruby-develRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-ruby-docRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-ruby-irbRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-ruby-libsRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-ruby-tcltkRed Hat:rhel_software_collections:2::el6 |
before 0:2.2.2-12.el6 | 0:2.2.2-12.el6 |
rh-ruby22-rubygem-bigdecimalRed Hat:rhel_software_collections:2::el6 |
before 0:1.2.6-12.el6 | 0:1.2.6-12.el6 |
rh-ruby22-rubygem-io-consoleRed Hat:rhel_software_collections:2::el6 |
before 0:0.4.3-12.el6 | 0:0.4.3-12.el6 |
rh-ruby22-rubygem-jsonRed Hat:rhel_software_collections:2::el6 |
before 0:1.8.1-12.el6 | 0:1.8.1-12.el6 |
rh-ruby22-rubygem-minitestRed Hat:rhel_software_collections:2::el6 |
before 0:5.4.3-12.el6 | 0:5.4.3-12.el6 |
rh-ruby22-rubygem-power_assertRed Hat:rhel_software_collections:2::el6 |
before 0:0.2.2-12.el6 | 0:0.2.2-12.el6 |
rh-ruby22-rubygem-psychRed Hat:rhel_software_collections:2::el6 |
before 0:2.0.8-12.el6 | 0:2.0.8-12.el6 |
rh-ruby22-rubygem-rakeRed Hat:rhel_software_collections:2::el6 |
before 0:10.4.2-12.el6 | 0:10.4.2-12.el6 |
rh-ruby22-rubygem-rdocRed Hat:rhel_software_collections:2::el6 |
before 0:4.2.0-12.el6 | 0:4.2.0-12.el6 |
rh-ruby22-rubygem-test-unitRed Hat:rhel_software_collections:2::el6 |
before 0:3.0.8-12.el6 | 0:3.0.8-12.el6 |
rh-ruby22-rubygemsRed Hat:rhel_software_collections:2::el6 |
before 0:2.4.5-12.el6 | 0:2.4.5-12.el6 |
rh-ruby22-rubygems-develRed Hat:rhel_software_collections:2::el6 |
before 0:2.4.5-12.el6 | 0:2.4.5-12.el6 |
rh-ruby22-rubyRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-ruby-debuginfoRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-ruby-develRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-ruby-docRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-ruby-irbRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-ruby-libsRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-ruby-tcltkRed Hat:rhel_software_collections:2::el7 |
before 0:2.2.2-12.el7 | 0:2.2.2-12.el7 |
rh-ruby22-rubygem-bigdecimalRed Hat:rhel_software_collections:2::el7 |
before 0:1.2.6-12.el7 | 0:1.2.6-12.el7 |
rh-ruby22-rubygem-io-consoleRed Hat:rhel_software_collections:2::el7 |
before 0:0.4.3-12.el7 | 0:0.4.3-12.el7 |
rh-ruby22-rubygem-jsonRed Hat:rhel_software_collections:2::el7 |
before 0:1.8.1-12.el7 | 0:1.8.1-12.el7 |
rh-ruby22-rubygem-minitestRed Hat:rhel_software_collections:2::el7 |
before 0:5.4.3-12.el7 | 0:5.4.3-12.el7 |
rh-ruby22-rubygem-power_assertRed Hat:rhel_software_collections:2::el7 |
before 0:0.2.2-12.el7 | 0:0.2.2-12.el7 |
rh-ruby22-rubygem-psychRed Hat:rhel_software_collections:2::el7 |
before 0:2.0.8-12.el7 | 0:2.0.8-12.el7 |
rh-ruby22-rubygem-rakeRed Hat:rhel_software_collections:2::el7 |
before 0:10.4.2-12.el7 | 0:10.4.2-12.el7 |
rh-ruby22-rubygem-rdocRed Hat:rhel_software_collections:2::el7 |
before 0:4.2.0-12.el7 | 0:4.2.0-12.el7 |
rh-ruby22-rubygem-test-unitRed Hat:rhel_software_collections:2::el7 |
before 0:3.0.8-12.el7 | 0:3.0.8-12.el7 |
rh-ruby22-rubygemsRed Hat:rhel_software_collections:2::el7 |
before 0:2.4.5-12.el7 | 0:2.4.5-12.el7 |
rh-ruby22-rubygems-develRed Hat:rhel_software_collections:2::el7 |
before 0:2.4.5-12.el7 | 0:2.4.5-12.el7 |
ruby2.1SUSE:Linux Enterprise Desktop 12 SP1 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Desktop 12 SP2 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Software Development Kit 12 SP1 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Software Development Kit 12 SP2 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Server 12 SP1 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Server for SAP Applications 12 SP1 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Server 12 SP2 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.1SUSE:Linux Enterprise Server for SAP Applications 12 SP2 |
before 2.1.9-15.1 | 2.1.9-15.1 |
ruby2.3openSUSE:Tumbleweed |
before 2.3.1-1.6 | 2.3.1-1.6 |
ruby2.2openSUSE:Tumbleweed |
before 2.2.5-1.5 | 2.2.5-1.5 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
rhn.redhat.com/errata/RHSA-2015-1657.html
lists.fedoraproject.org/pipermail/package-announce/2015-August/163502.html
lists.fedoraproject.org/pipermail/package-announce/2015-August/163600.html
openwall.com/lists/oss-security/2015/06/26/2
trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900
securityfocus.com/bid/75482
Show 33 moreShow less
trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-007?fid=6356
blog.rubygems.org/2015/05/14/CVE-2015-3900.html
puppet.com/security/cve/CVE-2015-3900
lists.fedoraproject.org/pipermail/package-announce/2015-August/164236.html
oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html
nvd.nist.gov/vuln/detail/CVE-2015-3900
web.archive.org/web/20170331091241/https://puppet.com/security/cve/CVE-2015-3900
web.archive.org/web/20200228055155/http://www.securityfocus.com/bid/75482
github.com/rubysec/ruby-advisory-db/blob/master/gems/rubygems-update/CVE-2015-3900.yml
github.com/advisories/GHSA-wp3j-rvfp-624h
security-tracker.debian.org/tracker/CVE-2015-3900
advisories.mageia.org/MGASA-2015-0345.html
bugs.mageia.org/show_bug.cgi?id=16218
access.redhat.com/errata/RHSA-2015:1657
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=1236116
security.access.redhat.com/data/csaf/v2/advisories/2015/rhsa-2015_1657.json
access.redhat.com/security/cve/CVE-2015-3900
cve.org/CVERecord?id=CVE-2015-3900
suse.com/support/update/announcement/2017/suse-su-20171067-1
bugzilla.suse.com/1014863
bugzilla.suse.com/1018808
bugzilla.suse.com/887877
bugzilla.suse.com/909695
bugzilla.suse.com/926974
bugzilla.suse.com/936032
bugzilla.suse.com/959495
bugzilla.suse.com/986630
suse.com/security/cve/CVE-2014-4975
suse.com/security/cve/CVE-2015-1855
suse.com/security/cve/CVE-2015-3900
suse.com/security/cve/CVE-2015-7551
suse.com/security/cve/CVE-2016-2339