Every CVE Search/ Get API key

CVE-2020-8554

Kubernetes man in the middle using LoadBalancer or ExternalIPs

6.3 MediumPublic exploitFix available

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
Low

Exploit likelihood

8.72%Up 2.5 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 6.3

Kubernetes man in the middle using LoadBalancer or ExternalIPs

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
CVE-2020-8554
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-283
Updated
2026-11-02
EUVDEUVD-2022-1072 6.3

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
EUVD-2022-1072
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-j9wf-vvm6-4r9w 5.0

Unverified Ownership in Kubernetes

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
GHSA-j9wf-vvm6-4r9w
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-283
Updated
2026-11-02
NVD 6.3

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
CVE-2020-8554
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
CVSS 2.0
6.0 MediumAV:N/AC:M/Au:S/C:P/I:P/A:P
Weakness
CWE-283
Updated
2026-11-02
OSVAZL-31696 5.0

CVE-2020-8554 affecting package python-kubernetes for versions less than 21.7.0-1

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
AZL-31696
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVAZL-31731 5.0

CVE-2020-8554 affecting package kubernetes for versions less than 1.28.3-1

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
AZL-31731
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
Show 7 moreShow less
OSVAZL-34893 5.0

CVE-2020-8554 affecting package kubernetes for versions less than 1.28.3-2

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
AZL-34893
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-05
OSVAZL-35135 5.0

CVE-2020-8554 affecting package python-kubernetes for versions less than 21.7.0-1

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
AZL-35135
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-05
OSV 5.0

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
CVE-2020-8554
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVDEBIAN-CVE-2020-8554 5.0

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
DEBIAN-CVE-2020-8554
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVGHSA-j9wf-vvm6-4r9w 5.0

Unverified Ownership in Kubernetes

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
GHSA-j9wf-vvm6-4r9w
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-283
Updated
2026-11-02
OSVRHSA-2021:0079 6.5

Red Hat Security Advisory: OpenShift Container Platform 3.11.374 bug fix and security update

Record
RHSA-2021:0079
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2020-8554 6.3

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.

Record
UBUNTU-CVE-2020-8554
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
CVSS 3.1
5.0 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
k8s.io/kubernetes
Go
through 1.22.0 None known
python-kubernetes
Azure Linux:2
before 21.7.0-1
21.7.0-1
kubernetes
Azure Linux:2
before 1.28.3-1
1.28.3-1
kubernetes
Azure Linux:3
before 1.28.3-2
1.28.3-2
python-kubernetes
Azure Linux:3
before 21.7.0-1
21.7.0-1
kubernetes
Debian:13
before 1.31.4+ds-1
1.31.4+ds-1
kubernetes
Debian:14
before 1.31.4+ds-1
1.31.4+ds-1
atomic-enterprise-service-catalog
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 1:3.11.374-1.git.1675.738abcc.el7
1:3.11.374-1.git.1675.738abcc.el7
atomic-enterprise-service-catalog-svcat
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 1:3.11.374-1.git.1675.738abcc.el7
1:3.11.374-1.git.1675.738abcc.el7
atomic-openshift
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
Show 30 moreShow less
Affected packages
PackageAffectedFixed
atomic-openshift-clients
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-clients-redistributable
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-cluster-autoscaler
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.2996f62.el7
0:3.11.374-1.git.0.2996f62.el7
atomic-openshift-descheduler
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.299.f128e96.el7
0:3.11.374-1.git.299.f128e96.el7
atomic-openshift-docker-excluder
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-dockerregistry
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.481.e6a880c.el7
0:3.11.374-1.git.481.e6a880c.el7
atomic-openshift-excluder
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-hyperkube
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-hypershift
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-master
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-metrics-server
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.53.9df25a9.el7
0:3.11.374-1.git.53.9df25a9.el7
atomic-openshift-node
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-node-problem-detector
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.263.28335fb.el7
0:3.11.374-1.git.263.28335fb.el7
atomic-openshift-pod
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-sdn-ovs
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-service-idler
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.15.523a1f7.el7
0:3.11.374-1.git.15.523a1f7.el7
atomic-openshift-template-service-broker
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-tests
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.ebd3ee9.el7
0:3.11.374-1.git.0.ebd3ee9.el7
atomic-openshift-web-console
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.647.9e78d83.el7
0:3.11.374-1.git.647.9e78d83.el7
golang-github-openshift-oauth-proxy
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.439.966c536.el7
0:3.11.374-1.git.439.966c536.el7
golang-github-prometheus-alertmanager
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.3abd2a5.el7
0:3.11.374-1.git.0.3abd2a5.el7
golang-github-prometheus-node_exporter
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.1062.490d6d5.el7
0:3.11.374-1.git.1062.490d6d5.el7
golang-github-prometheus-prometheus
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.5026.29379c4.el7
0:3.11.374-1.git.5026.29379c4.el7
openshift-enterprise-autoheal
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.218.9cf7939.el7
0:3.11.374-1.git.218.9cf7939.el7
openshift-enterprise-cluster-capacity
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.379.80bd08f.el7
0:3.11.374-1.git.379.80bd08f.el7
prometheus
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.5026.29379c4.el7
0:3.11.374-1.git.5026.29379c4.el7
prometheus-alertmanager
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.0.3abd2a5.el7
0:3.11.374-1.git.0.3abd2a5.el7
prometheus-node-exporter
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:3.11.374-1.git.1062.490d6d5.el7
0:3.11.374-1.git.1062.490d6d5.el7
python-urllib3
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:1.26.2-1.el7
0:1.26.2-1.el7
python2-urllib3
Red Hat:openshift:3.11::el7
From an advisory covering 3 CVEs
before 0:1.26.2-1.el7
0:1.26.2-1.el7

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubrancher/externalip-webhook2020-12-01
PoC in GitHubjrmurray000/CVE-2020-85542020-12-11
PoC in GitHubtwistlock/k8s-cve-2020-8554-mitigations2020-12-20
PoC in GitHubDviejopomata/CVE-2020-85542021-01-21
PoC in GitHubalebedev87/gatekeeper-cve-2020-85542021-02-09

History

History
RecordedChangedSources
affected
exploits, factsOSV
affected
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-8554 is a medium vulnerability (CVSS 6.3) in Kubernetes, published January 21, 2021. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 8.72%, the 95th percentile. Fixed in python-kubernetes 21.7.0-1.

References

Show 34 moreShow less
MoveEnter Open