CVE-2020-8562
Vulnerability from cvelistv5
Published
2022-02-01 10:33
Modified
2024-09-16 17:08
Severity ?
EPSS score ?
Summary
As mitigations to a report from 2019 and CVE-2020-8555, Kubernetes attempts to prevent proxied connections from accessing link-local or localhost networks when making user-driven connections to Services, Pods, Nodes, or StorageClass service providers. As part of this mitigation Kubernetes does a DNS name resolution check and validates that response IPs are not in the link-local (169.254.0.0/16) or localhost (127.0.0.0/8) range. Kubernetes then performs a second DNS resolution without validation for the actual connection. If a non-standard DNS server returns different non-cached responses, a user may be able to bypass the proxy IP restriction and access private networks on the control plane.
References
▼ | URL | Tags | |
---|---|---|---|
jordan@liggitt.net | https://github.com/kubernetes/kubernetes/issues/101493 | Issue Tracking, Mitigation, Third Party Advisory | |
jordan@liggitt.net | https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY | Mailing List, Third Party Advisory | |
jordan@liggitt.net | https://security.netapp.com/advisory/ntap-20220225-0002/ | Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/kubernetes/kubernetes/issues/101493 | Issue Tracking, Mitigation, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY | Mailing List, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://security.netapp.com/advisory/ntap-20220225-0002/ | Third Party Advisory |
Impacted products
Vendor | Product | Version | |
---|---|---|---|
▼ | Kubernetes | Kubernetes |
Version: unspecified < Version: unspecified < Version: unspecified < Version: unspecified < |
|
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-04T10:03:46.172Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/kubernetes/kubernetes/issues/101493" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://security.netapp.com/advisory/ntap-20220225-0002/" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "Kubernetes", "vendor": "Kubernetes", "versions": [ { "lessThanOrEqual": "v1.18.18", "status": "affected", "version": "unspecified", "versionType": "custom" }, { "lessThan": "unspecified", "status": "unknown", "version": "next of v1.18.18", "versionType": "custom" }, { "lessThanOrEqual": "v1.19.10", "status": "affected", "version": "unspecified", "versionType": "custom" }, { "lessThan": "unspecified", "status": "unknown", "version": "next of v1.19.10", "versionType": "custom" }, { "lessThanOrEqual": "v1.20.6", "status": "affected", "version": "unspecified", "versionType": "custom" }, { "lessThan": "unspecified", "status": "unknown", "version": "next of v1.20.6", "versionType": "custom" }, { "lessThanOrEqual": "v1.21.0", "status": "affected", "version": "unspecified", "versionType": "custom" }, { "lessThan": "unspecified", "status": "unknown", "version": "next of v1.21.0", "versionType": "custom" } ] } ], "credits": [ { "lang": "en", "value": "Javier Provecho" } ], "datePublic": "2021-05-04T00:00:00", "descriptions": [ { "lang": "en", "value": "As mitigations to a report from 2019 and CVE-2020-8555, Kubernetes attempts to prevent proxied connections from accessing link-local or localhost networks when making user-driven connections to Services, Pods, Nodes, or StorageClass service providers. As part of this mitigation Kubernetes does a DNS name resolution check and validates that response IPs are not in the link-local (169.254.0.0/16) or localhost (127.0.0.0/8) range. Kubernetes then performs a second DNS resolution without validation for the actual connection. If a non-standard DNS server returns different non-cached responses, a user may be able to bypass the proxy IP restriction and access private networks on the control plane." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 2.2, "baseSeverity": "LOW", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "privilegesRequired": "HIGH", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-367", "description": "CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2022-02-25T09:06:13", "orgId": "a6081bf6-c852-4425-ad4f-a67919267565", "shortName": "kubernetes" }, "references": [ { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/kubernetes/kubernetes/issues/101493" }, { "tags": [ "x_refsource_MISC" ], "url": "https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "https://security.netapp.com/advisory/ntap-20220225-0002/" } ], "source": { "defect": [ "https://github.com/kubernetes/kubernetes/issues/101493" ], "discovery": "EXTERNAL" }, "title": "Bypass of Kubernetes API Server proxy TOCTOU", "workarounds": [ { "lang": "en", "value": "If this issue affects your clusters\u2019 control planes, you can use dnsmasq for name resolution and configure the min-cache-ttl and neg-ttl parameters to a low non-zero value to enforce cached replies for proxied connections" } ], "x_generator": { "engine": "Vulnogram 0.0.9" }, "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "security@kubernetes.io", "DATE_PUBLIC": "2021-05-04T16:51:00.000Z", "ID": "CVE-2020-8562", "STATE": "PUBLIC", "TITLE": "Bypass of Kubernetes API Server proxy TOCTOU" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "Kubernetes", "version": { "version_data": [ { "version_affected": "\u003c=", "version_value": "v1.18.18" }, { "version_affected": "?\u003e", "version_value": "v1.18.18" }, { "version_affected": "\u003c=", "version_value": "v1.19.10" }, { "version_affected": "?\u003e", "version_value": "v1.19.10" }, { "version_affected": "\u003c=", "version_value": "v1.20.6" }, { "version_affected": "?\u003e", "version_value": "v1.20.6" }, { "version_affected": "\u003c=", "version_value": "v1.21.0" }, { "version_affected": "?\u003e", "version_value": "v1.21.0" } ] } } ] }, "vendor_name": "Kubernetes" } ] } }, "credit": [ { "lang": "eng", "value": "Javier Provecho" } ], "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "As mitigations to a report from 2019 and CVE-2020-8555, Kubernetes attempts to prevent proxied connections from accessing link-local or localhost networks when making user-driven connections to Services, Pods, Nodes, or StorageClass service providers. As part of this mitigation Kubernetes does a DNS name resolution check and validates that response IPs are not in the link-local (169.254.0.0/16) or localhost (127.0.0.0/8) range. Kubernetes then performs a second DNS resolution without validation for the actual connection. If a non-standard DNS server returns different non-cached responses, a user may be able to bypass the proxy IP restriction and access private networks on the control plane." } ] }, "generator": { "engine": "Vulnogram 0.0.9" }, "impact": { "cvss": { "attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 2.2, "baseSeverity": "LOW", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "privilegesRequired": "HIGH", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N", "version": "3.1" } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition" } ] } ] }, "references": { "reference_data": [ { "name": "https://github.com/kubernetes/kubernetes/issues/101493", "refsource": "MISC", "url": "https://github.com/kubernetes/kubernetes/issues/101493" }, { "name": "https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY", "refsource": "MISC", "url": "https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY" }, { "name": "https://security.netapp.com/advisory/ntap-20220225-0002/", "refsource": "CONFIRM", "url": "https://security.netapp.com/advisory/ntap-20220225-0002/" } ] }, "source": { "defect": [ "https://github.com/kubernetes/kubernetes/issues/101493" ], "discovery": "EXTERNAL" }, "work_around": [ { "lang": "en", "value": "If this issue affects your clusters\u2019 control planes, you can use dnsmasq for name resolution and configure the min-cache-ttl and neg-ttl parameters to a low non-zero value to enforce cached replies for proxied connections" } ] } } }, "cveMetadata": { "assignerOrgId": "a6081bf6-c852-4425-ad4f-a67919267565", "assignerShortName": "kubernetes", "cveId": "CVE-2020-8562", "datePublished": "2022-02-01T10:33:00.317144Z", "dateReserved": "2020-02-03T00:00:00", "dateUpdated": "2024-09-16T17:08:37.065Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2020-8562\",\"sourceIdentifier\":\"jordan@liggitt.net\",\"published\":\"2022-02-01T11:15:10.903\",\"lastModified\":\"2024-11-21T05:39:02.180\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"As mitigations to a report from 2019 and CVE-2020-8555, Kubernetes attempts to prevent proxied connections from accessing link-local or localhost networks when making user-driven connections to Services, Pods, Nodes, or StorageClass service providers. As part of this mitigation Kubernetes does a DNS name resolution check and validates that response IPs are not in the link-local (169.254.0.0/16) or localhost (127.0.0.0/8) range. Kubernetes then performs a second DNS resolution without validation for the actual connection. If a non-standard DNS server returns different non-cached responses, a user may be able to bypass the proxy IP restriction and access private networks on the control plane.\"},{\"lang\":\"es\",\"value\":\"Como mitigaci\u00f3n a un informe de 2019 y CVE-2020-8555, Kubernetes intenta impedir que las conexiones proxy accedan a las redes link-local o localhost cuando son realizadas conexiones impulsadas por el usuario a los servicios, pods, nodos o proveedores de servicios StorageClass. Como parte de esta mitigaci\u00f3n, Kubernetes realiza una comprobaci\u00f3n de resoluci\u00f3n de nombres DNS y comprueba que las IPs de respuesta no est\u00e9n en el rango link-local (169.254.0.0/16) o localhost (127.0.0/8). A continuaci\u00f3n, Kubernetes lleva a cabo una segunda resoluci\u00f3n de DNS sin comprobar para la conexi\u00f3n real. Si un servidor DNS no est\u00e1ndar devuelve diferentes respuestas no almacenadas en cach\u00e9, un usuario puede ser capaz de omitir la restricci\u00f3n de la IP del proxy y acceder a redes privadas en el plano de control\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"jordan@liggitt.net\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N\",\"baseScore\":2.2,\"baseSeverity\":\"LOW\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"HIGH\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":0.7,\"impactScore\":1.4},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N\",\"baseScore\":3.1,\"baseSeverity\":\"LOW\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":1.6,\"impactScore\":1.4}],\"cvssMetricV2\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"2.0\",\"vectorString\":\"AV:N/AC:M/Au:S/C:P/I:N/A:N\",\"baseScore\":3.5,\"accessVector\":\"NETWORK\",\"accessComplexity\":\"MEDIUM\",\"authentication\":\"SINGLE\",\"confidentialityImpact\":\"PARTIAL\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"baseSeverity\":\"LOW\",\"exploitabilityScore\":6.8,\"impactScore\":2.9,\"acInsufInfo\":false,\"obtainAllPrivilege\":false,\"obtainUserPrivilege\":false,\"obtainOtherPrivilege\":false,\"userInteractionRequired\":false}]},\"weaknesses\":[{\"source\":\"jordan@liggitt.net\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-367\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-367\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*\",\"versionEndIncluding\":\"1.18.18\",\"matchCriteriaId\":\"7BE1AD99-F12A-4F6E-8EA5-578F32A1F15F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"1.19.0\",\"versionEndIncluding\":\"1.19.10\",\"matchCriteriaId\":\"34CCC198-AAA6-4DAE-94C4-B8CE55F621F7\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"1.20.0\",\"versionEndIncluding\":\"1.20.6\",\"matchCriteriaId\":\"6868B56F-DDBE-4CDA-9537-A0CAD3CDB1AB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:kubernetes:kubernetes:1.21.0:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"1A3D8AFD-1FB4-4F98-8522-E57A15DD00BB\"}]}]}],\"references\":[{\"url\":\"https://github.com/kubernetes/kubernetes/issues/101493\",\"source\":\"jordan@liggitt.net\",\"tags\":[\"Issue Tracking\",\"Mitigation\",\"Third Party Advisory\"]},{\"url\":\"https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY\",\"source\":\"jordan@liggitt.net\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]},{\"url\":\"https://security.netapp.com/advisory/ntap-20220225-0002/\",\"source\":\"jordan@liggitt.net\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://github.com/kubernetes/kubernetes/issues/101493\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Issue Tracking\",\"Mitigation\",\"Third Party Advisory\"]},{\"url\":\"https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]},{\"url\":\"https://security.netapp.com/advisory/ntap-20220225-0002/\",\"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.