postgres-operator
v1.12.2
1 Service Accounts
1 Workloads
22 Bindings
5 Critical
1 Medium
16 Low
Description
Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes
Overview
Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
---|---|---|---|---|---|---|
postgres-operator | default | ❌ | — | 22 | 1 | Critical |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 postgres-operator
Namespace: default
| Automount: ❌
🔑 Permissions (22)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole postgres-operator | batch/cronjobs | create · delete · get · list · patch · update | Critical | Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole postgres-operator | core/endpoints | create · delete · deletecollection · get · list · patch · update · watch | Critical | DenialOfService ManInTheMiddle NetworkManipulation Tampering TrafficRedirection |
ClusterRole postgres-operator | core/pods | delete · get · list · patch · update · watch | Critical | PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadExecution |
ClusterRole postgres-operator | core/pods/exec | create | Critical | ClusterWidePodExec CodeExecution ElevationOfPrivilege LateralMovement PodExec (+1 more) |
ClusterRole postgres-operator | core/services | create · delete · get · patch · update | Critical | DenialOfService NetworkManipulation ServiceExposure Tampering |
ClusterRole postgres-operator | core/events | create · get · list · patch · update · watch | Medium | InformationDisclosure OperationalData Reconnaissance |
ClusterRole postgres-operator | core/configmaps | get | Low | |
ClusterRole postgres-operator | apiextensions.k8s.io/customresourcedefinitions | create · get · patch · update | Low | |
ClusterRole postgres-operator | apps/deployments | create · delete · get · list · patch | Low | |
ClusterRole postgres-operator | core/namespaces | get | Low | |
ClusterRole postgres-operator | core/nodes | get · list · watch | Low | |
ClusterRole postgres-operator | acid.zalan.do/operatorconfigurations | create · delete · deletecollection · get · list · patch · update · watch | Low | |
ClusterRole postgres-operator | core/persistentvolumeclaims | delete · get · list · patch · update | Low | |
ClusterRole postgres-operator | core/persistentvolumes | get · list | Low | |
ClusterRole postgres-operator | policy/poddisruptionbudgets | create · delete · get | Low | |
ClusterRole postgres-operator | acid.zalan.do/postgresqls | create · delete · deletecollection · get · list · patch · update · watch | Low | |
ClusterRole postgres-operator | acid.zalan.do/postgresqls/status | create · delete · deletecollection · get · list · patch · update · watch | Low | |
ClusterRole postgres-operator | acid.zalan.do/postgresteams | get · list · watch | Low | |
ClusterRole postgres-operator | rbac.authorization.k8s.io/rolebindings | create · get | Low | |
ClusterRole postgres-operator | core/secrets | create · delete · get · update | Low | |
ClusterRole postgres-operator | core/serviceaccounts | create · get | Low | |
ClusterRole postgres-operator | apps/statefulsets | create · delete · get · list · patch | Low |
⚠️ Potential Abuse (12)
The following security risks were found based on the above permissions:
- Cluster-wide pod exec
- Namespaced pod exec
- Update/Patch pods cluster-wide
- Update/Patch pods in a namespace
- Manage CronJobs cluster-wide (scheduled privileged execution, persistence)
- Manage CronJobs in a namespace (scheduled privileged execution, persistence)
- Read events cluster-wide
- Manage Endpoints or EndpointSlices cluster-wide
- Manage Endpoints or EndpointSlices in a namespace
- Manage Services cluster-wide
- Manage Services in a namespace
📦 Workloads (1)
Kind | Name | Container | Image |
---|---|---|---|
Deployment | postgres-operator | postgres-operator | ghcr.io/zalando/postgres-operator:v1.12.2 |