(in versions v1 r6 through v1 r1)
The Kubernetes API server must have the insecure bind address not set. (Cat I impact)
By default, the API server will listen on two ports and addresses. One address is the secure address and the other address is called the "insecure bind" address and is set by default to localhost. Any requests to this address bypass authentication and authorization checks. If this insecure bind address is set to localhost, anyone who gains access to the host on which the master is running can bypass all authorization and authentication mechanisms put in place and have full control over the entire cluster. Close or set the insecure bind address by setting the API server's --insecure-bind-address flag to an IP or leave it unset and ensure that the --insecure-bind-port is not set.
Change to the /etc/kubernetes/manifests directory on the Kubernetes Master Node. Run the command: grep -i insecure-bind-address * If the setting insecure-bind-address is found and set to "localhost" in the Kubernetes API manifest file, this is a finding.
Edit the Kubernetes API Server manifest file in the /etc/kubernetes/manifests directory on the Kubernetes Master Node. Remove the value for the --insecure-bind-address setting.
Rule ID: SV-242388r712520_rule
Vulnerability ID: V-242388
Group Title: SRG-APP-000033-CTR-000095
The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies.