services / Google Cloud / Kubernetes Engine Pods
A Kubernetes Pod is a logical host that encapsulates one or more Containers. It is the smallest and most basic unit of deployment. Containers can communicate with each other via localhost. Pod lifecycle is typically managed by a higher level controller, such as a Deployment, StatefulSet, or DaemonSet.
The risks associated with Pods is similar to Deployments, StatefulSets, and DaemonSets. Pods consume CPU, memory, and network resources of the cluster, thus they are susceptible to exhaustion attacks. Containers inside Pods run a specific image, and may lead to arbitrary code execution in the cluster if an attacker is able to run their image. Pods also need access to other resources within the cluster, and outside the cluster, often using other services of the cloud provider. In order to do so, Pods have service account credentials, which, if leaked, allow one to move laterally by authenticating as the service account.
container.pods.attach
Allows attaching to a process that is already running inside an existing container. An attacker accesses the stdout output, and is able to send stdin input to the running process, for instance ctrl+c to stop the process.
Risks
Scope: HIGH
This privilege may grant access to sensitive data from a single organizational function, or allow interruption of a service supporting a single organizational function.
Contributed by P0 Security