Show plain JSON{"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"}]}