2 Service Accounts
2 Workloads
49 Bindings
9 Critical
15 High
25 Low
Description
KubeStash, Kubernetes native backup operator by AppsCode
Overview
Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
---|---|---|---|---|---|---|
kubestash-operator | default | ❌ | — | 43 | 2 | Critical |
kubestash-operator-cleaner | default | ❌ | — | 6 | 1 | High |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 kubestash-operator
Namespace: default
| Automount: ❌
🔑 Permissions (43)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole kubestash-operator | rbac.authorization.k8s.io/clusterrolebindings | create · delete · get · list · patch · update · watch | Critical | BindingToPrivilegedRole ClusterAdminAccess InformationDisclosure PrivilegeEscalation RBACManipulation (+2 more) |
ClusterRole kubestash-operator | rbac.authorization.k8s.io/clusterroles | create · delete · get · list · patch · update · watch | Critical | ClusterAdminAccess InformationDisclosure PrivilegeEscalation RBACManipulation RBACQuery (+1 more) |
ClusterRole kubestash-operator | batch/cronjobs | create · delete · get · list · patch · update · watch | Critical | Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole kubestash-operator | batch/jobs | create · delete · get · list · patch · update · watch | Critical | PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
Role kubestash-operator-leader-election | coordination.k8s.io/leases | create · delete · get · list · patch · update · watch | Critical | ControlPlaneDisruption CriticalNamespace DenialOfService Tampering |
ClusterRole kubestash-operator | admissionregistration.k8s.io/mutatingwebhookconfigurations | * | Critical | ClusterWideAccess DenialOfService InformationDisclosure PrivilegeEscalation Reconnaissance (+4 more) |
ClusterRole kubestash-operator | core/pods/exec | create | Critical | ClusterWidePodExec CodeExecution ElevationOfPrivilege LateralMovement PodExec (+1 more) |
ClusterRole kubestash-operator | core/secrets | create · delete · get · list · patch · watch | Critical | ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess |
ClusterRole kubestash-operator | admissionregistration.k8s.io/validatingwebhookconfigurations | * | Critical | ClusterWideAccess DenialOfService InformationDisclosure Reconnaissance Tampering (+3 more) |
ClusterRole kubestash-operator | addons.kubestash.com/* | * | High | ClusterWideAccess |
ClusterRole kubestash-operator | appcatalog.appscode.com/* | get · list · watch | High | ClusterWideAccess |
ClusterRole kubestash-operator | archiver.kubedb.com/* | create · get | High | ClusterWideAccess |
ClusterRole kubestash-operator | config.kubestash.com/* | * | High | ClusterWideAccess |
ClusterRole kubestash-operator | core.kubestash.com/* | * | High | ClusterWideAccess |
ClusterRole kubestash-operator | kubedb.com/* | * | High | ClusterWideAccess |
ClusterRole kubestash-operator | snapshot.storage.k8s.io/* | * | High | ClusterWideAccess |
ClusterRole kubestash-operator | storage.kubestash.com/* | * | High | ClusterWideAccess |
Role kubestash-operator-leader-election | core/configmaps | create · delete · get · list · patch · update · watch | High | ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation Tampering |
ClusterRole kubestash-operator | rbac.authorization.k8s.io/rolebindings | create · delete · get · list · patch · update · watch | High | BindingToPrivilegedRole InformationDisclosure PrivilegeEscalation RBACManipulation RBACQuery (+1 more) |
ClusterRole kubestash-operator | rbac.authorization.k8s.io/roles | create · delete · get · list · patch · update · watch | High | InformationDisclosure PrivilegeEscalation RBACManipulation RBACQuery Reconnaissance |
ClusterRole kubestash-operator | core/serviceaccounts | create · delete · get · list · patch · update · watch | High | IdentityManagement PotentialPrivilegeEscalation Tampering |
ClusterRole kubestash-operator | appcatalog.appscode.com/appbindings | get · list · watch | Low | |
ClusterRole kubestash-operator | cert-manager.io/certificates | create · get | Low | |
ClusterRole kubestash-operator | core/configmaps | create · get | Low | |
ClusterRole kubestash-operator | apiextensions.k8s.io/customresourcedefinitions | create · get · patch · update | Low | |
ClusterRole kubestash-operator | apps/daemonsets | create · get · list · watch | Low | |
ClusterRole kubestash-operator | apps/deployments | create · get · list · patch · update · watch | Low | |
ClusterRole kubestash-operator | elasticsearch.kubedb.com/elasticsearchdashboards | list | Low | |
ClusterRole kubestash-operator | catalog.kubedb.com/elasticsearchs | get · list · watch | Low | |
ClusterRole kubestash-operator | core/endpoints | get · list · watch | Low | |
ClusterRole kubestash-operator | core/events | create | Low | |
Role kubestash-operator-leader-election | core/events | create · patch | Low | |
ClusterRole kubestash-operator | core/namespaces | get · list · watch | Low | ClusterStructure InformationDisclosure Reconnaissance |
ClusterRole kubestash-operator | core/nodes | get · list · watch | Low | |
ClusterRole kubestash-operator | batch.k8s.appscode.com/pendingtasks | create · get · list · patch · watch | Low | |
ClusterRole kubestash-operator | core/persistentvolumeclaims | create · delete · get · list · patch · update · watch | Low | |
ClusterRole kubestash-operator | core/persistentvolumes | create · delete · get · list · patch · update · watch | Low | |
ClusterRole kubestash-operator | core/pods | get · list · watch | Low | |
ClusterRole kubestash-operator | apps/replicasets | create · get · list · watch | Low | |
ClusterRole kubestash-operator | core/services | create · get · list · watch | Low | |
ClusterRole kubestash-operator | apps/statefulsets | create · get · list · watch | Low | |
ClusterRole kubestash-operator | storage.k8s.io/storageclasses | get · list · watch | Low | |
ClusterRole kubestash-operator | snapshot.storage.k8s.io/volumesnapshots | delete · get | Low |
⚠️ Potential Abuse (25)
The following security risks were found based on the above permissions:
- Cluster-wide pod exec
- Namespaced pod exec
- Read secrets cluster-wide
- Read secrets in a namespace
- Read ConfigMaps in a namespace
- Modify ConfigMaps in a namespace
- Manage ClusterRoles (create, update, patch, delete)
- Manage ClusterRoleBindings (create, update, patch, delete)
- Manage Roles in a namespace (create, update, patch, delete)
- Manage RoleBindings in a namespace (create, update, patch, delete)
- Manage CronJobs cluster-wide (scheduled privileged execution, persistence)
- Manage CronJobs in a namespace (scheduled privileged execution, persistence)
- Manage Jobs cluster-wide (one-off privileged execution)
- Manage Jobs in a namespace (one-off privileged execution)
- Manage MutatingWebhookConfigurations
- Manage ValidatingWebhookConfigurations
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- Read RBAC configuration cluster-wide
- Manage Leases in kube-system or kube-node-lease namespace
- List Namespaces (Cluster Reconnaissance)
- List ValidatingWebhookConfigurations (Reconnaissance)
- List MutatingWebhookConfigurations (Reconnaissance)
📦 Workloads (2)
Kind | Name | Container | Image |
---|---|---|---|
Deployment | kubestash-operator-operator | operator | ghcr.io/kubestash/kubestash:v0.19.0 |
Deployment | kubestash-operator-webhook-server | webhook-server | ghcr.io/kubestash/kubestash:v0.19.0 |
🤖 kubestash-operator-cleaner
Namespace: default
| Automount: ❌
🔑 Permissions (6)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole kubestash-operator-cleaner | addons.kubestash.com/* | delete | High | ClusterWideAccess |
ClusterRole kubestash-operator-cleaner | core.kubestash.com/* | delete | High | ClusterWideAccess |
ClusterRole kubestash-operator-cleaner | storage.kubestash.com/* | delete | High | ClusterWideAccess |
ClusterRole kubestash-operator-cleaner | batch/jobs | delete | Low | |
ClusterRole kubestash-operator-cleaner | admissionregistration.k8s.io/mutatingwebhookconfigurations | delete | Low | |
ClusterRole kubestash-operator-cleaner | admissionregistration.k8s.io/validatingwebhookconfigurations | delete | Low |
⚠️ Potential Abuse (2)
The following security risks were found based on the above permissions:
📦 Workloads (1)
Kind | Name | Container | Image |
---|---|---|---|
Job | kubestash-operator-cleaner | busybox | ghcr.io/appscode/kubectl:v1.31 |