Security advisory
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-8562
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 08:54 UTC · Revision 1
Source evidence
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.
osv:CVE-2020-8562
Complete source record
{
"id": "f9196b9e7affd54fb4a8e3a65ca0e1d8d3ebdd95c0b8a85cd72870e36214af94",
"url": "https://osv.dev/vulnerability/CVE-2020-8562",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-8562",
"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.",
"evidence": "osv:CVE-2020-8562",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2020-8562",
"aliases": [
"CVE-2020-8562",
"GHSA-qh36-44jv-c8xj"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/kubernetes/kubelet",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "91407aecd4edbe8888bb4648ee46e8dae792a20d"
},
{
"introduced": "1af8853567a0faecc59fbc4d7d2ddc9359ddde83"
},
{
"last_affected": "ea1348bf4a58d089e74ac7def7f855945a2c0bbb"
},
{
"introduced": "30b4cd52c54df86ed93459ba84b3e61877fc28ea"
},
{
"last_affected": "723e5d932a5277a14f5c636330ac445539bf5708"
},
{
"introduced": "2f96697a6b8649844ec80a9bbe6d7cde3b197f5b"
},
{
"last_affected": "2f96697a6b8649844ec80a9bbe6d7cde3b197f5b"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.18.18"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.19.0"
},
{
"last_affected": "1.19.10"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.20.0"
},
{
"last_affected": "1.20.6"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:1.21.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.21.0"
},
{
"last_affected": "1.21.0"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"1.21.0",
"v0.20.6",
"kubernetes-1.20.6",
"v0.19.10",
"kubernetes-1.19.10",
"v0.18.18",
"kubernetes-1.18.18",
"v0.21.0",
"kubernetes-1.21.0",
"kubernetes-1.9.0-alpha.3",
"kubernetes-1.9.0-alpha.2",
"kubernetes-1.9.0-alpha.1",
"kubernetes-1.9.0-alpha.0",
"kubernetes-1.13.0-alpha.0",
"kubernetes-1.12.0-beta.0",
"kubernetes-1.12.0-alpha.1",
"kubernetes-1.12.0-alpha.0",
"kubernetes-1.11.0-alpha.2",
"kubernetes-1.11.0-alpha.1",
"kubernetes-1.11.0-alpha.0",
"kubernetes-1.10.0-alpha.3",
"kubernetes-1.10.0-alpha.2",
"kubernetes-1.10.0-alpha.1",
"kubernetes-1.10.0-alpha.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-8562.json"
}
},
{
"ranges": [
{
"repo": "https://github.com/kubernetes/kubernetes",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "6f6ce59dc8fefde25a3ba0ef0047f4ec6662ef24"
},
{
"introduced": "e19964183377d0ec2052d1f1fa930c4d7575bd50"
},
{
"last_affected": "98d5dc5d36d34a7ee13368a7893dcb400ec4e566"
},
{
"introduced": "af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38"
},
{
"last_affected": "8a62859e515889f07e3e3be6a1080413f17cf2c3"
},
{
"introduced": "cb303e613a121a29364f75cc67d3d580833a7479"
},
{
"last_affected": "cb303e613a121a29364f75cc67d3d580833a7479"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.18.18"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.19.0"
},
{
"last_affected": "1.19.10"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.20.0"
},
{
"last_affected": "1.20.6"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:kubernetes:kubernetes:1.21.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.21.0"
},
{
"last_affected": "1.21.0"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"1.21.0",
"v1.18.18",
"v1.19.10",
"v1.20.6",
"v1.21.0",
"v1.18.18-rc.0",
"v1.20.6-rc.0",
"v1.19.10-rc.0",
"v1.20.5",
"v1.19.9",
"v1.18.17",
"v1.20.5-rc.0",
"v1.20.4",
"v1.19.9-rc.0",
"v1.20.4-rc.0",
"v1.18.17-rc.0",
"v1.20.3",
"v1.19.8",
"v1.18.16",
"v1.18.16-rc.0",
"v1.20.3-rc.0",
"v1.19.8-rc.0",
"v1.20.2",
"v1.19.7",
"v1.18.15",
"v1.18.15-rc.0",
"v1.20.2-rc.0",
"v1.19.7-rc.0",
"v1.18.14",
"v1.19.6",
"v1.20.1",
"v1.18.14-rc.1",
"v1.19.6-rc.1",
"v1.20.1-rc.1",
"v1.18.14-rc.0",
"v1.18.13",
"v1.19.6-rc.0",
"v1.19.5",
"v1.20.1-rc.0",
"v1.20.0",
"v1.18.13-rc.0",
"v1.18.12",
"v1.19.5-rc.0",
"v1.19.4",
"v1.18.12-rc.1",
"v1.18.11-rc.0",
"v1.18.10",
"v1.19.4-rc.0",
"v1.19.3",
"v1.18.10-rc.0",
"v1.19.3-rc.0",
"v1.18.9",
"v1.19.2",
"v1.19.2-rc.0",
"v1.19.1",
"v1.19.1-rc.0",
"v1.19.0",
"v1.18.9-rc.0",
"v1.18.8",
"v1.18.8-rc.1",
"v1.18.7-rc.0",
"v1.18.6",
"v1.18.6-rc.0",
"v1.18.5",
"v1.18.5-rc.1",
"v1.18.5-rc.0",
"v1.18.4",
"v1.18.4-rc.0",
"v1.18.3",
"v1.18.3-beta.0",
"v1.18.2",
"v1.18.2-beta.0",
"v1.18.1",
"v1.18.1-beta.0",
"v1.18.0",
"v1.18.0-rc.1",
"v1.18.0-beta.2",
"v1.19.0-alpha.0",
"v1.18.0-beta.1",
"v1.18.0-beta.0",
"v1.18.0-alpha.5",
"v1.18.0-alpha.4",
"v1.18.0-alpha.2",
"v1.18.0-alpha.1",
"v1.18.0-alpha.0",
"v1.17.0-alpha.3",
"v1.17.0-alpha.1",
"v1.17.0-alpha.2",
"v1.17.0-alpha.0",
"v1.16.0-alpha.3",
"v1.16.0-alpha.2",
"v1.16.0-alpha.1",
"v1.16.0-alpha.0",
"v1.15.0-alpha.3",
"v1.15.0-alpha.2",
"v1.15.0-alpha.1",
"v1.14.0-alpha.3",
"v1.15.0-alpha.0",
"v1.14.0-alpha.2",
"v1.14.0-alpha.1",
"v1.14.0-alpha.0",
"v1.13.0-alpha.3",
"v1.13.0-alpha.2",
"v1.13.0-alpha.1",
"v1.13.0-alpha.0",
"v1.12.0-alpha.1",
"v1.12.0-alpha.0",
"v1.11.0-alpha.2",
"v1.11.0-alpha.1",
"v1.11.0-alpha.0",
"v1.10.0-alpha.3",
"v1.10.0-alpha.2",
"v1.10.0-alpha.1",
"v1.9.0-alpha.3",
"v1.10.0-alpha.0",
"v1.9.0-alpha.2",
"v1.9.0-alpha.1",
"v1.9.0-alpha.0",
"v1.8.0-alpha.3",
"v1.8.0-alpha.2",
"v1.8.0-alpha.0",
"v1.8.0-alpha.1",
"v1.7.0-alpha.4",
"v1.7.0-alpha.3",
"v1.7.0-alpha.2",
"v1.7.0-alpha.1",
"v1.7.0-alpha.0",
"v1.6.0-alpha.3",
"v1.6.0-alpha.2",
"v1.6.0-alpha.1",
"v1.6.0-alpha.0",
"v1.5.0-alpha.2",
"v1.5.0-alpha.1",
"v1.5.0-alpha.0",
"v1.4.0-alpha.3",
"v1.4.0-alpha.1",
"v1.4.0-alpha.2",
"v1.3.0-alpha.5",
"v1.3.0-alpha.4",
"v1.3.0-alpha.3",
"v1.3.0-alpha.1",
"v1.3.0-alpha.2",
"v1.3.0-alpha.0",
"v1.2.0-alpha.8",
"v1.2.0-alpha.7",
"v1.2.0-alpha.6",
"v1.2.0-alpha.5",
"v1.2.0-alpha.4",
"v1.2.0-alpha.3",
"v1.2.0-alpha.2",
"v1.2.0-alpha.1",
"v1.1.0-alpha.1",
"v1.1.0-alpha.0",
"v0.17.0",
"v0.13.1-dev"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-8562.json"
}
}
],
"modified": "2026-10-24T10:50:39.769909650Z",
"provider": "osv",
"references": [
"https://groups.google.com/g/kubernetes-security-announce/c/-MFX60_wdOY",
"https://security.netapp.com/advisory/ntap-20220225-0002/",
"https://github.com/kubernetes/kubernetes/issues/101493",
"https://kubernetes.io/blog/2026/05/26/reconciling-unfixed-kubernetes-cves/"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2020-8562",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 442429,
"published_at": "2022-02-01T11:15:10.903+00:00"
}