Skip to content
OpenAdvisories
Medium · 6.4 Public exploit CVE-2020-8559 EUVD-2024-1072GHSA-33c5-9fx5-fvjmGO-2024-2748

Privilege escalation from compromised node to cluster

Published Jul 22, 2020 · Updated Sep 16, 2024 · Assigned by kubernetes

Vendor: Kubernetes Product: Kubernetes Package: cert-exporter Package: cilium-cli Package: eksctl Package: falcoctl Package: ghaudit Package: glab Package: helm-operator Package: helm-operator-compat Package: hubble Package: hubble-compat Package: k3s Package: k8s.io/apimachinery Package: k8s.io/kubernetes Package: kine Package: kots Package: kots-compat Package: kots-symlink-compat Package: kubeflow-access-management Package: kubeflow-pipelines-apiserver Package: kubernetes Package: kubernetes-dashboard Package: kubernetes-dashboard-metrics-scraper Package: kubernetes-dashboard-metrics-scraper-compat Package: kubernetes-dns-node-cache Package: kubevela Package: kubevela-vela-cli Package: kubevela-vela-core Package: kubevela-vela-core-compat Package: kubewatch Package: kwok Package: kwokctl Package: kyverno-policy-reporter Package: kyverno-policy-reporter-compat Package: local-path-provisioner Package: local-static-provisioner Package: local-static-provisioner-compat Package: local-volume-node-cleanup Package: local-volume-node-cleanup-compat Package: melange Package: newrelic-infra-operator Package: newrelic-nri-kube-events Package: newrelic-nri-statsd Package: nodetaint Package: nri-discovery-kubernetes Package: nri-discovery-kubernetes-compat Package: nri-kubernetes Package: opentelemetry-collector-contrib Package: opentelemetry-collector-contrib-compat Package: postgres-operator Package: postgres-operator-compat Package: prometheus-adapter Package: pulumi-kubernetes-operator Package: rabbitmq-cluster-operator Package: rabbitmq-cluster-operator-compat Package: rabbitmq-cluster-operator-iamguarded-compat Package: rabbitmq-messaging-topology-operator Package: rabbitmq-messaging-topology-operator-compat Package: rabbitmq-messaging-topology-operator-iamguarded-compat Package: secrets-store-csi-driver-provider-aws Package: secrets-store-csi-driver-provider-azure Package: skaffold Package: slsa-verifier Package: sonobuoy Package: sonobuoy-compat Package: spark-operator Package: spark-operator-oci-entrypoint Package: spire-agent Package: spire-oidc-discovery-provider Package: spire-server Package: src Package: stakater-reloader Package: stakater-reloader-compat Package: step-issuer Package: step-issuer-compat Package: stern Package: tekton-chains Package: terraform Package: terraform-compat Package: terraform-local-provider-config Package: thanos-operator-compat Package: tkn Package: trust-manager Package: up Package: vault-k8s Package: velero-plugin-for-csi Package: velero-plugin-for-csi-compat Package: volume-modifier-for-k8s Package: zarf Package: zot Ecosystem: Alpine Ecosystem: Debian Ecosystem: Go Ecosystem: Wolfi

Description

The Kubernetes kube-apiserver in versions v1.6-v1.15, and versions prior to v1.16.13, v1.17.9 and v1.18.6 are vulnerable to an unvalidated redirect on proxied upgrade requests that could allow an attacker to escalate privileges from a node compromise to a full cluster compromise.

Affected products

VendorProductAffectedFixed
Kubernetes Kubernetes 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16 – ≤ 1.16.12, 1.17 – ≤ 1.17.8, 1.18 – ≤ 1.18.5 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 kubernetes 1.18.5-1 —
Debian 13 kubernetes 1.18.5-1 —
Debian 12 kubernetes 1.18.5-1 —
ReleasePackageFixed inAdvisory
Red Hat OpenShift 4 ignition +1 2.6.0-5.rhaos4.6.git947598e.el8 RHBA-2020:4197
Red Hat OpenShift 4 openshift +1 4.4.0-202012052258.p0.git.0.0fd57a4.el7 RHSA-2021:0030, RHBA-2020:4197
Red Hat OpenShift 3 atomic-openshift +12 3.11.346-1.git.0.ea10721.el7 RHSA-2020:5363
ReleasePackageFixed inAdvisory
Alpine v3.24 k3s 1.18.6.1-r0 —
Alpine v3.23 k3s 1.18.6.1-r0 —
Alpine v3.22 k3s 1.18.6.1-r0 —
Alpine v3.21 k3s 1.18.6.1-r0 —
Alpine v3.20 k3s 1.18.6.1-r0 —
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 k3s 1.18.6.1-r0 —
Alpine v3.18 k3s 1.18.6.1-r0 —
Alpine v3.17 k3s 1.18.6.1-r0 —
Alpine v3.16 k3s 1.18.6.1-r0 —
Alpine v3.15 k3s 1.18.6.1-r0 —
Alpine v3.14 k3s 1.18.6.1-r0 —
Alpine v3.13 k3s 1.18.6.1-r0 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 7 istio +10 1.4.10-1.0.1.el7 ELSA-2020-5765
Oracle Linux 7 kata 1.7.3-1.0.7.el7 ELSA-2020-5766, ELSA-2020-5765
Oracle Linux 7 kata-image 1.7.3-1.0.5.1.ol7_202007011859 ELSA-2020-5766, ELSA-2020-5765
Oracle Linux 7 kata-runtime 1.7.3-1.0.5.el7 ELSA-2020-5766, ELSA-2020-5765
Oracle Linux 7 kernel-uek-container 4.14.35-1902.303.5.3.el7 ELSA-2020-5766, ELSA-2020-5765
Oracle Linux 7 kubeadm +2 1.12.10-1.0.13.el7 ELSA-2020-5767, ELSA-2020-5766, ELSA-2020-5765
Oracle Linux 7 olcne-istio-chart +1 1.1.2-6.el7 ELSA-2020-5765
Oracle Linux 7 olcnectl +4 1.0.5-3.el7 ELSA-2020-5766, ELSA-2020-5765

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling cert-exporter 2.14.0-r9 —
Wolfi rolling cilium-cli 0.18.2-r2 —
Wolfi rolling eksctl 0.205.0-r4 —
Wolfi rolling falcoctl 0.7.3-r8 —
Wolfi rolling ghaudit 0.4.0-r1 —
Wolfi rolling glab 1.54.0-r0 —
Wolfi rolling helm-operator +1 1.39.2-r0 —
Wolfi rolling hubble +1 1.17.1-r2 —
Wolfi rolling kine 0.13.11-r0 —
Wolfi rolling kots +2 1.124.8-r0 —
Wolfi rolling kubeflow-pipelines-apiserver 2.14.3-r3 —
Wolfi rolling kubernetes-dashboard 7.11.1-r1 —
Wolfi rolling kubernetes-dashboard-metrics-scraper +1 1.2.2-r5 —
Wolfi rolling kubernetes-dns-node-cache 1.25.0-r5 —
Wolfi rolling kubevela +3 1.10.2-r4 —
Wolfi rolling kubewatch 2.9.0-r7 —
Wolfi rolling kwok +1 0.6.1-r7 —
Wolfi rolling kyverno-policy-reporter +1 3.0.7-r1 —
Wolfi rolling local-path-provisioner 0.0.31-r3 —
Wolfi rolling local-static-provisioner +3 2.7.0-r15 —
Wolfi rolling melange 0.23.0-r1 —
Wolfi rolling newrelic-infra-operator 0.21.6-r3 —
Wolfi rolling newrelic-nri-kube-events 2.11.8-r1 —
Wolfi rolling newrelic-nri-statsd 2.11.0-r0 —
Wolfi rolling nodetaint 0.0.4-r30 —
Wolfi rolling nri-discovery-kubernetes +1 1.11.0-r0 —
Wolfi rolling nri-kubernetes 3.35.0-r0 —
Wolfi rolling opentelemetry-collector-contrib +1 0.122.0-r1 —
Wolfi rolling postgres-operator +1 1.14.0-r5 —
Wolfi rolling prometheus-adapter 0.12.0-r10 —
Wolfi rolling pulumi-kubernetes-operator 1.16.0-r13 —
Wolfi rolling rabbitmq-cluster-operator +2 2.12.1-r3 —
Wolfi rolling rabbitmq-messaging-topology-operator +2 1.16.0-r4 —
Wolfi rolling secrets-store-csi-driver-provider-aws 0.3.11-r32 —
Wolfi rolling secrets-store-csi-driver-provider-azure 1.6.2-r32 —
Wolfi rolling skaffold 2.14.2-r0 —
Wolfi rolling slsa-verifier 2.7.0-r3 —
Wolfi rolling sonobuoy +1 0.57.3-r2 —
Wolfi rolling spark-operator +1 2.1.0-r8 —
Wolfi rolling spire-agent +2 1.11.2-r5 —
Wolfi rolling src 6.1.0-r3 —
Wolfi rolling stakater-reloader +1 1.3.0-r2 —
Wolfi rolling step-issuer +1 0.9.8-r0 —
Wolfi rolling stern 1.32.0-r3 —
Wolfi rolling tekton-chains 0.24.0-r5 —
Wolfi rolling terraform +2 1.5.7-r25 —
Wolfi rolling thanos-operator-compat 0.3.7-r26 —
Wolfi rolling tkn 0.40.0-r4 —
Wolfi rolling trust-manager 0.16.0-r2 —
Wolfi rolling up +1 No fix yet —
Wolfi rolling vault-k8s 1.6.2-r1 —
Wolfi rolling velero-plugin-for-csi +1 0.7.1-r32 —
Wolfi rolling volume-modifier-for-k8s 0.5.1-r4 —
Wolfi rolling zarf 0.50.0-r0 —
Wolfi rolling zot 2.1.2-r7 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 2 repositories

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
Go k8s.io/apimachinery < 0.16.13 0.16.13 GHSA-33c5-9fx5-fvjm
Go k8s.io/apimachinery >= 0.17.0, < 0.17.9 0.17.9 GHSA-33c5-9fx5-fvjm
Go k8s.io/apimachinery >= 0.18.0, < 0.18.7 0.18.7 GHSA-33c5-9fx5-fvjm
Go k8s.io/apimachinery < 0.16.13 · >= 0.17.0, < 0.17.9 · >= 0.18.0, < 0.18.7-rc.0 0.16.13, 0.17.9, 0.18.7-rc.0 GO-2024-2748
Go k8s.io/kubernetes < 1.16.13 1.16.13 GHSA-33c5-9fx5-fvjm
Go k8s.io/kubernetes >= 1.17.0, < 1.17.9 1.17.9 GHSA-33c5-9fx5-fvjm
Go k8s.io/kubernetes >= 1.18.0, < 1.18.7 1.18.7 GHSA-33c5-9fx5-fvjm
Go k8s.io/kubernetes < 1.16.13 · >= 1.17.0, < 1.17.9 · >= 1.18.0, < 1.18.7 1.16.13, 1.17.9, 1.18.7 GO-2024-2748

Advisories 7

References