// For flags

CVE-2015-3900

rubygems: DNS hijacking vulnerability in api_endpoint()

Severity Score

8.6
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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

RubyGems 2.0.x en versiones anteriores a 2.0.16, 2.2.x en versiones anteriores a 2.2.4 y 2.4.x en versiones anteriores a 2.4.7 no valida el nombre de host al recuperar gemas o hacer solicitudes de API, lo que permite a atacantes remotos redireccionar peticiones a dominios arbitrarios a través del registro DNS SRV manipulado, también conocido como un "ataque de secuestro de DNS".

A flaw was found in a way rubygems verified the API endpoint hostname retrieved through a DNS SRV record. A man-in-the-middle attacker could use this flaw to force a client to download content from an untrusted domain.

Ruby is an extensible, interpreted, object-oriented, scripting language. It has features to process text files and to perform system management tasks. A flaw was found in a way rubygems verified the API endpoint hostname retrieved through a DNS SRV record. A man-in-the-middle attacker could use this flaw to force a client to download content from an untrusted domain. All rh-ruby22-ruby users are advised to upgrade to these updated packages, which contain a backported patch to correct this issue. All running instances of Ruby need to be restarted for this update to take effect.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
High
Availability
None
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
Partial
Availability
None
Attack Vector
Adjacent
Attack Complexity
Medium
Authentication
None
Confidentiality
Complete
Integrity
Complete
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2015-05-12 CVE Reserved
  • 2015-06-24 CVE Published
  • 2024-08-06 CVE Updated
  • 2025-03-30 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-254: 7PK - Security Features
  • CWE-345: Insufficient Verification of Data Authenticity
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
1.9
Search vendor "Ruby-lang" for product "Ruby" and version "1.9"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
1.9.1
Search vendor "Ruby-lang" for product "Ruby" and version "1.9.1"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
1.9.2
Search vendor "Ruby-lang" for product "Ruby" and version "1.9.2"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
1.9.3
Search vendor "Ruby-lang" for product "Ruby" and version "1.9.3"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.0.0
Search vendor "Ruby-lang" for product "Ruby" and version "2.0.0"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.1
Search vendor "Ruby-lang" for product "Ruby" and version "2.1"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.1.1
Search vendor "Ruby-lang" for product "Ruby" and version "2.1.1"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.1.2
Search vendor "Ruby-lang" for product "Ruby" and version "2.1.2"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.1.3
Search vendor "Ruby-lang" for product "Ruby" and version "2.1.3"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.1.4
Search vendor "Ruby-lang" for product "Ruby" and version "2.1.4"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.1.5
Search vendor "Ruby-lang" for product "Ruby" and version "2.1.5"
-
Affected
Ruby-lang
Search vendor "Ruby-lang"
Ruby
Search vendor "Ruby-lang" for product "Ruby"
2.2.0
Search vendor "Ruby-lang" for product "Ruby" and version "2.2.0"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.0
Search vendor "Rubygems" for product "Rubygems" and version "2.0.0"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.1
Search vendor "Rubygems" for product "Rubygems" and version "2.0.1"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.2
Search vendor "Rubygems" for product "Rubygems" and version "2.0.2"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.3
Search vendor "Rubygems" for product "Rubygems" and version "2.0.3"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.4
Search vendor "Rubygems" for product "Rubygems" and version "2.0.4"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.5
Search vendor "Rubygems" for product "Rubygems" and version "2.0.5"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.6
Search vendor "Rubygems" for product "Rubygems" and version "2.0.6"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.7
Search vendor "Rubygems" for product "Rubygems" and version "2.0.7"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.8
Search vendor "Rubygems" for product "Rubygems" and version "2.0.8"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.9
Search vendor "Rubygems" for product "Rubygems" and version "2.0.9"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.10
Search vendor "Rubygems" for product "Rubygems" and version "2.0.10"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.11
Search vendor "Rubygems" for product "Rubygems" and version "2.0.11"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.12
Search vendor "Rubygems" for product "Rubygems" and version "2.0.12"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.13
Search vendor "Rubygems" for product "Rubygems" and version "2.0.13"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.14
Search vendor "Rubygems" for product "Rubygems" and version "2.0.14"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.0.15
Search vendor "Rubygems" for product "Rubygems" and version "2.0.15"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.2.0
Search vendor "Rubygems" for product "Rubygems" and version "2.2.0"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.2.1
Search vendor "Rubygems" for product "Rubygems" and version "2.2.1"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.2.2
Search vendor "Rubygems" for product "Rubygems" and version "2.2.2"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.2.3
Search vendor "Rubygems" for product "Rubygems" and version "2.2.3"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.0
Search vendor "Rubygems" for product "Rubygems" and version "2.4.0"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.1
Search vendor "Rubygems" for product "Rubygems" and version "2.4.1"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.2
Search vendor "Rubygems" for product "Rubygems" and version "2.4.2"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.3
Search vendor "Rubygems" for product "Rubygems" and version "2.4.3"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.4
Search vendor "Rubygems" for product "Rubygems" and version "2.4.4"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.5
Search vendor "Rubygems" for product "Rubygems" and version "2.4.5"
-
Affected
Rubygems
Search vendor "Rubygems"
Rubygems
Search vendor "Rubygems" for product "Rubygems"
2.4.6
Search vendor "Rubygems" for product "Rubygems" and version "2.4.6"
-
Affected
Oracle
Search vendor "Oracle"
Solaris
Search vendor "Oracle" for product "Solaris"
11.3
Search vendor "Oracle" for product "Solaris" and version "11.3"
-
Affected
Redhat
Search vendor "Redhat"
Enterprise Linux
Search vendor "Redhat" for product "Enterprise Linux"
6.0
Search vendor "Redhat" for product "Enterprise Linux" and version "6.0"
-
Affected
Redhat
Search vendor "Redhat"
Enterprise Linux
Search vendor "Redhat" for product "Enterprise Linux"
7.0
Search vendor "Redhat" for product "Enterprise Linux" and version "7.0"
-
Affected