Summary
A security issue was discovered in Kubernetes where a user with the ability to create pods and persistent volumes on Windows nodes may be able to escalate to admin privileges on those nodes. Kubernetes clusters are only affected if they are using an in-tree storage plugin for Windows nodes. Any Kubernetes environment with Windows nodes running kubelet v1.8.0 or later is impacted.
Impact
An attacker with the ability to create pods and PersistentVolumes on Windows nodes can exploit insufficient input sanitization in the in-tree storage plugin to escalate privileges to administrator on those nodes. Successful exploitation results in high impact to confidentiality, integrity, and availability on affected Windows nodes. Clusters without Windows nodes are not affected. There are no known mitigations outside of applying the provided patch.
Detection
Check whether your cluster includes Windows nodes:
kubectl get nodes -l kubernetes.io/os=windows
Review Kubernetes audit logs for PersistentVolume create events that include local path fields containing special characters. Such events are a strong indicator of exploitation attempts.
If evidence of exploitation is found, contact security@kubernetes.io.
Mitigation
Upgrade kubelet to one of the fixed versions:
- v1.28.4 or later (1.28 branch)
- v1.27.8 or later (1.27 branch)
- v1.26.11 or later (1.26 branch)
- v1.25.16 or later (1.25 branch)
There are no known alternative mitigations outside of applying the patch. Refer to the Kubernetes cluster upgrade documentation for upgrade guidance.