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).
Researchers detail a high-severity flaw in #Kubernetes, CVE-2023-5528, that allowed attackers remote code execution with SYSTEM privileges on Windows endpoints within a cluster.
Learn more: https://t.co/mBFuSM1SuG#hacking #cybersecurity #infosec
— The Hacker News (@TheHackersNews) March 14, 2024
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:- How to Become a DevOps Engineer – A 12-Step Guide
- Eight Steps Necessary to Rectify a Software Vulnerability
- 6 Steps to Learn Front-End Development
- 7 Open Source Security Tools You Can’t Afford to Ignore
- Top 5 Most Used Programming Languages in 2024
- 9 Apps You Need But Didn’t Know About
- Top 18 Cybersecurity Tips to Keep You Safe
- Top 20 Active Directory (AD) Attack Methods
- The Top 10 Free VPNs Which Are Safe and Allow You to Access Blocked Content
- Seattle Airport Hit by Possible Cyberattack, Websites & Phone Systems Were Impacted