planetscale / vitess-operator

Kubernetes Operator for Vitess
Apache License 2.0
304 stars 75 forks source link

Bug: Unnecessary permissions in manifests #557

Open Yseona opened 5 months ago

Yseona commented 5 months ago

Description

The bug is that the Deployment vitess-operator in the manifests has too much RBAC permissions than it needs. The service account of vitess-operator is bound to a role(role.yaml) with the following permissions:

After reading the source code of vitess-operator, I didn't find any Kubernetes API usages using these permissions. Besides, some of these unused permissions may have potential risks. For example, if malicious users gain control of a Kubernetes node running a vitess-operator pod, they can use the create deployments permission to create privileged containers with malicious container images.

Therefore, these permissions should be rechecked to determine if they are truly unnecessary. If they are, the issue should be fixed by removing the unnecessary permissions or other feasible methods.

To Reproduce

Use the manifests with default values.