FKIE_CVE-2015-4020

Vulnerability from fkie_nvd - Published: 2015-08-25 17:59 - Updated: 2025-04-12 10:46
Severity ?
Summary
RubyGems 2.0.x before 2.0.17, 2.2.x before 2.2.5, and 2.4.x before 2.4.8 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 with a domain that is suffixed with the original domain name, aka a "DNS hijack attack." NOTE: this vulnerability exists because to an incomplete fix for CVE-2015-3900.
References
cve@mitre.orghttp://blog.rubygems.org/2015/06/08/2.2.5-released.htmlVendor Advisory
cve@mitre.orghttp://blog.rubygems.org/2015/06/08/2.4.8-released.htmlVendor Advisory
cve@mitre.orghttp://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.htmlThird Party Advisory
cve@mitre.orghttp://www.securityfocus.com/bid/75431
cve@mitre.orghttps://github.com/rubygems/rubygems/commit/5c7bfb5
cve@mitre.orghttps://puppet.com/security/cve/CVE-2015-3900
cve@mitre.orghttps://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478Third Party Advisory
cve@mitre.orghttps://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108http://blog.rubygems.org/2015/06/08/2.2.5-released.htmlVendor Advisory
af854a3a-2127-422b-91ae-364da2661108http://blog.rubygems.org/2015/06/08/2.4.8-released.htmlVendor Advisory
af854a3a-2127-422b-91ae-364da2661108http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.htmlThird Party Advisory
af854a3a-2127-422b-91ae-364da2661108http://www.securityfocus.com/bid/75431
af854a3a-2127-422b-91ae-364da2661108https://github.com/rubygems/rubygems/commit/5c7bfb5
af854a3a-2127-422b-91ae-364da2661108https://puppet.com/security/cve/CVE-2015-3900
af854a3a-2127-422b-91ae-364da2661108https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/Third Party Advisory

{
  "configurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:oracle:solaris:11.3:*:*:*:*:*:*:*",
              "matchCriteriaId": "79A602C5-61FE-47BA-9786-F045B6C6DBA8",
              "vulnerable": true
            }
          ],
          "negate": false,
          "operator": "OR"
        }
      ]
    },
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.0:*:*:*:*:*:*:*",
              "matchCriteriaId": "F2D82506-3FB5-41BA-8704-CC324C0B0DB2",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.0:preview2:*:*:*:*:*:*",
              "matchCriteriaId": "28EF4773-AA97-4209-951F-942286A92413",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.0:preview2.1:*:*:*:*:*:*",
              "matchCriteriaId": "2A3D3005-679A-4761-AC38-CAE1C1CB20AC",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.0:preview2.2:*:*:*:*:*:*",
              "matchCriteriaId": "344FF6A4-8041-4652-A0EA-F18BB0FCFB26",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.0:rc1:*:*:*:*:*:*",
              "matchCriteriaId": "E6CC620F-8E83-4256-9872-CCCDF5A4ED35",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.0:rc2:*:*:*:*:*:*",
              "matchCriteriaId": "F22B79F6-5CA1-4E5C-9223-345A39EDD507",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.1:*:*:*:*:*:*:*",
              "matchCriteriaId": "260A155C-ED09-44E7-8279-5B94A4AC8CA4",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.2:*:*:*:*:*:*:*",
              "matchCriteriaId": "C4E0506F-F2E6-45A2-B637-576C341A71B7",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.3:*:*:*:*:*:*:*",
              "matchCriteriaId": "C2EC4513-B653-438A-A1E4-406D055FC160",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.4:*:*:*:*:*:*:*",
              "matchCriteriaId": "F5FDF363-24FA-45D2-879B-B1CF9B667AE2",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.5:*:*:*:*:*:*:*",
              "matchCriteriaId": "03A81F55-2B6B-467C-9281-AA11ED31220F",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.6:*:*:*:*:*:*:*",
              "matchCriteriaId": "A8143D88-890D-4C87-9120-46B33D7D63C8",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.7:*:*:*:*:*:*:*",
              "matchCriteriaId": "3E5608F5-AC8A-4368-9323-A2CC09F18AAD",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.8:*:*:*:*:*:*:*",
              "matchCriteriaId": "0ACEEB4D-D21D-4D89-881A-9FC33121F69C",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.9:*:*:*:*:*:*:*",
              "matchCriteriaId": "BE3D1495-E577-492F-ADE1-B8E8FB7F241A",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.10:*:*:*:*:*:*:*",
              "matchCriteriaId": "BCD623FF-E72B-4C63-B9E6-AFCDEFDD760A",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.11:*:*:*:*:*:*:*",
              "matchCriteriaId": "EAA1E4C2-29CA-48C2-AFFA-5357B36655FB",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.12:*:*:*:*:*:*:*",
              "matchCriteriaId": "EB358B7A-D258-4B86-BBD9-09388109653A",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.13:*:*:*:*:*:*:*",
              "matchCriteriaId": "5C608597-03F7-4F01-803F-0E2B1E9E1D30",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.14:*:*:*:*:*:*:*",
              "matchCriteriaId": "67C95ABA-1949-4B56-B9E3-44B4AF90274D",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.15:*:*:*:*:*:*:*",
              "matchCriteriaId": "DD319AE0-3D8C-40DF-857D-C38EAFA88C68",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.0.16:*:*:*:*:*:*:*",
              "matchCriteriaId": "34709EF4-D695-4184-816A-F51FD9DF8AE6",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.2.0:*:*:*:*:*:*:*",
              "matchCriteriaId": "672CC7FA-188C-4F34-B10D-7E0C4E7857F4",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.2.1:*:*:*:*:*:*:*",
              "matchCriteriaId": "FFCFF897-E65B-4D58-BA4D-B08FEF1201B6",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.2.2:*:*:*:*:*:*:*",
              "matchCriteriaId": "1B6D0730-F774-4E29-9871-3FF4BA89981E",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.2.3:*:*:*:*:*:*:*",
              "matchCriteriaId": "2D692C10-A24E-48EA-887C-7333C772744C",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.2.4:*:*:*:*:*:*:*",
              "matchCriteriaId": "DCDB36D4-FB34-4FAB-8549-AF7D5244CCD4",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.0:*:*:*:*:*:*:*",
              "matchCriteriaId": "5AFD153C-B0C3-4A91-8B09-839341FA4434",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.1:*:*:*:*:*:*:*",
              "matchCriteriaId": "04D0BF47-C818-4834-BFA2-23DD25386CCC",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.2:*:*:*:*:*:*:*",
              "matchCriteriaId": "7F54C49A-12CE-4AC5-A94A-9C5921414AC6",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.3:*:*:*:*:*:*:*",
              "matchCriteriaId": "9CFF3F39-EF40-4D73-965F-98A51C39C02F",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.4:*:*:*:*:*:*:*",
              "matchCriteriaId": "35BCB8FC-EE9C-4AA4-A4A0-E20A3E557129",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.5:*:*:*:*:*:*:*",
              "matchCriteriaId": "A5B90365-2172-43E3-870B-A16F9FB45FD8",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.6:*:*:*:*:*:*:*",
              "matchCriteriaId": "D4932202-9EEA-4B95-A24A-637678837179",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:a:rubygems:rubygems:2.4.7:*:*:*:*:*:*:*",
              "matchCriteriaId": "EE86B4DE-776B-460F-B5C3-02C691243820",
              "vulnerable": true
            }
          ],
          "negate": false,
          "operator": "OR"
        }
      ]
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "RubyGems 2.0.x before 2.0.17, 2.2.x before 2.2.5, and 2.4.x before 2.4.8 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 with a domain that is suffixed with the original domain name, aka a \"DNS hijack attack.\" NOTE: this vulnerability exists because to an incomplete fix for CVE-2015-3900."
    },
    {
      "lang": "es",
      "value": "RubyGems 2.0.x en versiones anteriores a 2.0.17, 2.2.x en versiones anteriores a 2.2.5 y 2.4.x en versiones anteriores a 2.4.8 no valida el nombre del host cuando recupera gemas o hace peticiones API, lo que permite a atacantes remotos redirigir peticiones a dominios arbitrarios mediante un registro DNS SRV con un dominio que est\u00e1 seguido del nombre del dominio original, tambi\u00e9n conocido como un \"atacque de secuestro DNS\". NOTA: esta vulnerabilidad existe debido a una soluci\u00f3n incompleta para CVE-2015-3900."
    }
  ],
  "id": "CVE-2015-4020",
  "lastModified": "2025-04-12T10:46:40.837",
  "metrics": {
    "cvssMetricV2": [
      {
        "acInsufInfo": false,
        "baseSeverity": "MEDIUM",
        "cvssData": {
          "accessComplexity": "MEDIUM",
          "accessVector": "NETWORK",
          "authentication": "NONE",
          "availabilityImpact": "NONE",
          "baseScore": 4.3,
          "confidentialityImpact": "NONE",
          "integrityImpact": "PARTIAL",
          "vectorString": "AV:N/AC:M/Au:N/C:N/I:P/A:N",
          "version": "2.0"
        },
        "exploitabilityScore": 8.6,
        "impactScore": 2.9,
        "obtainAllPrivilege": false,
        "obtainOtherPrivilege": false,
        "obtainUserPrivilege": false,
        "source": "nvd@nist.gov",
        "type": "Primary",
        "userInteractionRequired": false
      }
    ]
  },
  "published": "2015-08-25T17:59:01.760",
  "references": [
    {
      "source": "cve@mitre.org",
      "tags": [
        "Vendor Advisory"
      ],
      "url": "http://blog.rubygems.org/2015/06/08/2.2.5-released.html"
    },
    {
      "source": "cve@mitre.org",
      "tags": [
        "Vendor Advisory"
      ],
      "url": "http://blog.rubygems.org/2015/06/08/2.4.8-released.html"
    },
    {
      "source": "cve@mitre.org",
      "tags": [
        "Third Party Advisory"
      ],
      "url": "http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html"
    },
    {
      "source": "cve@mitre.org",
      "url": "http://www.securityfocus.com/bid/75431"
    },
    {
      "source": "cve@mitre.org",
      "url": "https://github.com/rubygems/rubygems/commit/5c7bfb5"
    },
    {
      "source": "cve@mitre.org",
      "url": "https://puppet.com/security/cve/CVE-2015-3900"
    },
    {
      "source": "cve@mitre.org",
      "tags": [
        "Third Party Advisory"
      ],
      "url": "https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478"
    },
    {
      "source": "cve@mitre.org",
      "tags": [
        "Third Party Advisory"
      ],
      "url": "https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Vendor Advisory"
      ],
      "url": "http://blog.rubygems.org/2015/06/08/2.2.5-released.html"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Vendor Advisory"
      ],
      "url": "http://blog.rubygems.org/2015/06/08/2.4.8-released.html"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Third Party Advisory"
      ],
      "url": "http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "http://www.securityfocus.com/bid/75431"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://github.com/rubygems/rubygems/commit/5c7bfb5"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://puppet.com/security/cve/CVE-2015-3900"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Third Party Advisory"
      ],
      "url": "https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Third Party Advisory"
      ],
      "url": "https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/"
    }
  ],
  "sourceIdentifier": "cve@mitre.org",
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-20"
        }
      ],
      "source": "nvd@nist.gov",
      "type": "Primary"
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…