services / Kubernetes / ReplicaSets
Control Kubernetes ReplicaSet objects.
ReplicaSets allow maintaining a desired number of replicas and handle situations like pod failures or manual scaling. Typically, ReplicaSets are not created directly but are managed by a Deployment. When that is the case, the ReplicaSet cannot be updated directly using the `update` endpoints. ReplicaSets expose very similar risks to Deployments, the key privilege being the ability to specify a container image to run in the Pods managed by the ReplicaSet. If coupled with a cluster that can connect to the internet, this opens up arbitrary code execution by fetching and running potentially malicious images. Secondly, creating or updating the replica count of ReplicaSets drains the limited resources available to other Kubernetes workloads.
apps/replicasets.delete
Deleting a ReplicaSet deletes its pods and ephemeral volumes. PersistentVolumes attached to the ReplicaSet are left intact. Logs of the deleted pods disappear permanently when the pods shut down, unless they are exported to an external system for persistence.
Risks
Scope: MEDIUM
This privilege may grant access to confidential data, or its exploit can incur operational cost.
Contributed by P0 Security