CVE-2020-8566 is a medium-severity (CVSS 5.5) CWE-532 vulnerability in github.com/kubernetes/kubernetes. A fix is available for github.com/kubernetes/kubernetes — see the affected versions and patch details below.
Sensitive Information leak via Log File in Kubernetes
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
github.com/kubernetes/kubernetes🐹github.com/kubernetes/kubernetes🐹github.com/kubernetes/kubernetesReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
In Kubernetes clusters using Ceph RBD as a storage provisioner, with logging level of at least 4, Ceph RBD admin secrets can be written to logs. This occurs in kube-controller-manager's logs during provisioning of Ceph RBD persistent claims. This affects < v1.19.3, < v1.18.10, < v1.17.13.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/kubernetes/kubernetes | all versions | 1.17.13go get github.com/kubernetes/kubernetes@v1.17.13 |
| 🐹Go | github.com/kubernetes/kubernetes | ≥ 1.18.0&&< 1.18.10 | 1.18.10go get github.com/kubernetes/kubernetes@v1.18.10 |
| 🐹Go | github.com/kubernetes/kubernetes | ≥ 1.19.0&&< 1.19.3 | 1.19.3go get github.com/kubernetes/kubernetes@v1.19.3 |
Affected Products
kuberneteskubernetesDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/kubernetes/kubernetes, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update github.com/kubernetes/kubernetes to 1.17.13 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-8566 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
OpenShift Container Platform 4 does not support Ceph RBD persistent volumes, however the vulnerable code is included.
OCP Clusters not using Ceph RBD volumes are not vulnerable to this issue. For clusters using Ceph RBD volumes, this can be mitigated by ensuring the logging level is below 4 and protecting unauthorized access to cluster logs. For OCP, the logging level for core components can be configured using operators, e.g. for kube-controller-manager: https://docs.openshift.com/container-platform/latest/rest_api/operator_apis/kubecontrollermanager-operator-openshift-io-v1.html#specification In OCP, a logging level of "Debug" is equivalent to 4: https://github.com/openshift/api/blob/master/operator/v1/types.go#L96 The default logging level is "Normal", which is equivalent to 2. Clusters running with…Source: Red Hat security advisory for CVE-2020-8566 (CC BY 4.0)
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat OpenShift Container Platform 4.6 | openshift4/ose-hyperkube:v4.6.0-202101090040.p0 | RHSA-2021:0037 |
| Red Hat OpenShift Container Platform 4.7 | openshift-0:4.7.0-202102060108.p0.git.97095.7271b90.el7 | RHSA-2020:5634 |
Frequently Asked Questions
Is CVE-2020-8566 in your dependencies?
Find it across Go, including transitive dependencies.