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.
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-j9wf-vvm6-4r9w Unverified Ownership in Kubernetes
Fixes

Solution

No solution given by the vendor.


Workaround

To restrict the use of external IPs we are providing an admission webhook container: k8s.gcr.io/multitenancy/externalip-webhook:v1.0.0. The source code and deployment instructions are published at https://github.com/kubernetes-sigs/externalip-webhook. Alternatively, external IPs can be restricted using OPA Gatekeeper. A sample ConstraintTemplate and Constraint can be found here: https://github.com/open-policy-agent/gatekeeper-library/tree/master/library/general/externalip.

History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: kubernetes

Published:

Updated: 2024-09-17T00:40:57.713Z

Reserved: 2020-02-03T00:00:00

Link: CVE-2020-8554

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2021-01-21T17:15:13.843

Modified: 2024-11-21T05:39:01.370

Link: CVE-2020-8554

cve-icon Redhat

Severity : Moderate

Publid Date: 2020-12-07T00:00:00Z

Links: CVE-2020-8554 - Bugzilla

cve-icon OpenCVE Enrichment

No data.