cve-2015-4020
Vulnerability from cvelistv5
Published
2015-08-25 17:00
Modified
2024-08-06 06:04
Severity ?
EPSS score ?
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
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-06T06:04:02.680Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "http://blog.rubygems.org/2015/06/08/2.2.5-released.html" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/" }, { "name": "75431", "tags": [ "vdb-entry", "x_refsource_BID", "x_transferred" ], "url": "http://www.securityfocus.com/bid/75431" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "http://blog.rubygems.org/2015/06/08/2.4.8-released.html" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://github.com/rubygems/rubygems/commit/5c7bfb5" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://puppet.com/security/cve/CVE-2015-3900" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "n/a", "vendor": "n/a", "versions": [ { "status": "affected", "version": "n/a" } ] } ], "datePublic": "2015-05-18T00:00:00", "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." } ], "problemTypes": [ { "descriptions": [ { "description": "n/a", "lang": "en", "type": "text" } ] } ], "providerMetadata": { "dateUpdated": "2017-12-08T10:57:01", "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca", "shortName": "mitre" }, "references": [ { "tags": [ "x_refsource_CONFIRM" ], "url": "http://blog.rubygems.org/2015/06/08/2.2.5-released.html" }, { "tags": [ "x_refsource_MISC" ], "url": "https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/" }, { "name": "75431", "tags": [ "vdb-entry", "x_refsource_BID" ], "url": "http://www.securityfocus.com/bid/75431" }, { "tags": [ "x_refsource_MISC" ], "url": "https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "http://blog.rubygems.org/2015/06/08/2.4.8-released.html" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/rubygems/rubygems/commit/5c7bfb5" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "https://puppet.com/security/cve/CVE-2015-3900" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html" } ], "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "cve@mitre.org", "ID": "CVE-2015-4020", "STATE": "PUBLIC" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "n/a", "version": { "version_data": [ { "version_value": "n/a" } ] } } ] }, "vendor_name": "n/a" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "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." } ] }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "n/a" } ] } ] }, "references": { "reference_data": [ { "name": "http://blog.rubygems.org/2015/06/08/2.2.5-released.html", "refsource": "CONFIRM", "url": "http://blog.rubygems.org/2015/06/08/2.2.5-released.html" }, { "name": "https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/", "refsource": "MISC", "url": "https://www.trustwave.com/Resources/SpiderLabs-Blog/Attacking-Ruby-Gem-Security-with-CVE-2015-3900/" }, { "name": "75431", "refsource": "BID", "url": "http://www.securityfocus.com/bid/75431" }, { "name": "https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478", "refsource": "MISC", "url": "https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2015-009/?fid=6478" }, { "name": "http://blog.rubygems.org/2015/06/08/2.4.8-released.html", "refsource": "CONFIRM", "url": "http://blog.rubygems.org/2015/06/08/2.4.8-released.html" }, { "name": "https://github.com/rubygems/rubygems/commit/5c7bfb5", "refsource": "CONFIRM", "url": "https://github.com/rubygems/rubygems/commit/5c7bfb5" }, { "name": "https://puppet.com/security/cve/CVE-2015-3900", "refsource": "CONFIRM", "url": "https://puppet.com/security/cve/CVE-2015-3900" }, { "name": "http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html", "refsource": "CONFIRM", "url": "http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html" } ] } } } }, "cveMetadata": { "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca", "assignerShortName": "mitre", "cveId": "CVE-2015-4020", "datePublished": "2015-08-25T17:00:00", "dateReserved": "2015-05-18T00:00:00", "dateUpdated": "2024-08-06T06:04:02.680Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2015-4020\",\"sourceIdentifier\":\"cve@mitre.org\",\"published\":\"2015-08-25T17:59:01.760\",\"lastModified\":\"2024-11-21T02:30:16.840\",\"vulnStatus\":\"Modified\",\"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.\"}],\"metrics\":{\"cvssMetricV2\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"2.0\",\"vectorString\":\"AV:N/AC:M/Au:N/C:N/I:P/A:N\",\"baseScore\":4.3,\"accessVector\":\"NETWORK\",\"accessComplexity\":\"MEDIUM\",\"authentication\":\"NONE\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"PARTIAL\",\"availabilityImpact\":\"NONE\"},\"baseSeverity\":\"MEDIUM\",\"exploitabilityScore\":8.6,\"impactScore\":2.9,\"acInsufInfo\":false,\"obtainAllPrivilege\":false,\"obtainUserPrivilege\":false,\"obtainOtherPrivilege\":false,\"userInteractionRequired\":false}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-20\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:oracle:solaris:11.3:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"79A602C5-61FE-47BA-9786-F045B6C6DBA8\"}]}]},{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"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\"}]}]}],\"references\":[{\"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\":[\"Vendor Advisory\"]},{\"url\":\"http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html\",\"source\":\"cve@mitre.org\",\"tags\":[\"Third Party Advisory\"]},{\"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\"},{\"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\":\"cve@mitre.org\",\"tags\":[\"Third Party 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\":[\"Vendor Advisory\"]},{\"url\":\"http://www.oracle.com/technetwork/topics/security/bulletinoct2015-2511968.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]},{\"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\"},{\"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/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.