Kubernetes RCE Vulnerability – A Threat to Windows Endpoints

Kubernetes RCE Vulnerability Techhyme

A high-severity vulnerability in Kubernetes, tracked as CVE-2023-5528, has been identified that can be exploited to execute arbitrary code on Windows endpoints. This vulnerability can lead to arbitrary code execution with System privileges on all Windows endpoints in a cluster, as warned by Akamai.

The vulnerability exists in the way Kubernetes, an open-source container orchestration system, processes YAML files, which it uses for virtually every function. This vulnerability is somewhat similar to CVE-2023-3676, which involves a lack of sanitization in the subPath parameter in YAML files leading to code injection when creating pods with volumes.

While CVE-2023-3676 was identified in Kubernetes’ kubelet service’s processing of YAML files containing information on mounting a shared folder, CVE-2023-5528 occurs when creating a pod that includes a local volume, allowing for the mounting of disk partitions.

One of the functions the kubelet service reaches when creating such a pod creates a “symlink between the location of the volume on the node and the location inside the pod,” as explained by Akamai. The function contains a cmd call, and since Windows’ command prompt supports command concatenation (to execute two or more commands after a special token), an attacker can control one parameter in the cmd execution and inject arbitrary commands to be executed with the privileges of kubelet (System privileges).

However, the issue only occurs when specifying or creating a persistentVolume, a type of storage resource that administrators can create to provision storage space in advance, and which will last after the pod’s lifetime. An attacker can change the value of the “local.path” parameter inside the persistentVolume YAML file to add a malicious command that will be executed during the mounting process.

To address the issue, Kubernetes removed the cmd call and replaced it with a native Go function that performs only the symlink operation. All deployments of Kubernetes version 1.28.3 and prior that have Windows nodes in the cluster are vulnerable to CVE-2023-5528. Organizations are encouraged to upgrade to Kubernetes version 1.28.4.

As the issue lies within the source code, this threat will remain active and exploitation of it will likely increase. Therefore, Akamai strongly advises patching your cluster even if it doesn’t have any Windows nodes.

You may also like:

Related Posts

Leave a Reply