The Kubernetes kubelet certificate authority file contains settings for the Kubernetes Node TLS certificate authority. Any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate. If this file can be changed, the Kubernetes architecture could be compromised. The scheduler will implement the changes immediately. Many of the security settings within the document are implemented through this file.
Check
On the Control Plane, run the command: ps -ef | grep kubelet
If the "--client-ca-file" option exists, this is a finding.
Note the path to the config file (identified by --config).
Run the command: grep -i clientCAFile <path_to_config_file>
Note the path to the client ca file.
Run the command: stat -c %a <path_to_client_ca_file>
If the client ca file has permissions more permissive than "644", this is a finding.
Fix
On the Control Plane, run the command: ps -ef | grep kubelet
Remove the "--client-ca-file" option.
Note the path to the config file (identified by --config).
Run the command: grep -i clientCAFile <path_to_config_file>
Note the path to the client ca file.
Run the command: chmod 644 <path_to_client_ca_file>