ais-operator
v2.4.0
1 Service Accounts
1 Workloads
11 Bindings
2 Critical
1 High
2 Medium
6 Low
Description
A Helm chart for Kubernetes
Overview
Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
---|---|---|---|---|---|---|
(orphaned-bindings) | — | — | — | 11 | 0 | Critical |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
⚠️ (orphaned-bindings)
Warning: The following RBAC bindings exist but are not associated with any active service accounts in the cluster.
🔑 Permissions (11)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole ais-operator-manager-role | * | * | Critical | APIServerDoS APIServiceManipulation AvailabilityImpact BackupAccess BindingToPrivilegedRole (+67 more) |
Role ais-operator-leader-election-role | coordination.k8s.io/leases | create · delete · get · list · patch · update · watch | Critical | ControlPlaneDisruption CriticalNamespace DenialOfService Tampering |
Role ais-operator-leader-election-role | core/configmaps | create · delete · get · list · patch · update · watch | High | ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation Tampering |
ClusterRole ais-operator-proxy-role | authorization.k8s.io/subjectaccessreviews | create | Medium | InformationDisclosure RBACQuery |
ClusterRole ais-operator-proxy-role | authentication.k8s.io/tokenreviews | create | Medium | CredentialAccess InformationDisclosure RBACQuery |
ClusterRole ais-operator-manager-role | ais.nvidia.com/aistores | create · delete · get · list · patch · update · watch | Low | |
ClusterRole ais-operator-manager-role | ais.nvidia.com/aistores/finalizers | update | Low | |
ClusterRole ais-operator-manager-role | ais.nvidia.com/aistores/status | get · patch · update | Low | |
Role ais-operator-leader-election-role | coordination.k8s.io/configmaps | create · delete · get · list · patch · update · watch | Low | |
Role ais-operator-leader-election-role | core/events | create · patch | Low | |
Role ais-operator-leader-election-role | core/leases | create · delete · get · list · patch · update · watch | Low |
⚠️ Potential Abuse (106)
The following security risks were found based on the above permissions:
- Cluster-wide pod exec
- Namespaced pod exec
- Cluster-wide pod attach
- Namespaced pod attach
- Cluster-wide pod port-forward
- Namespaced pod port-forward
- Create pods cluster-wide
- Create pods in a namespace
- Update/Patch pods cluster-wide
- Update/Patch pods in a namespace
- Read secrets cluster-wide
- Read secrets in a namespace
- Modify secrets cluster-wide
- Modify secrets in a namespace
- Node proxy access (Kubelet API)
- Modify node configuration (labels, taints)
- Delete nodes
- Manage PersistentVolumes (cluster-wide storage manipulation)
- Read pod logs cluster-wide
- Read pod logs in a namespace
- Manage ephemeral containers cluster-wide
- Manage ephemeral containers in a namespace
- Read ConfigMaps cluster-wide
- Read ConfigMaps in a namespace
- Modify ConfigMaps cluster-wide
- Modify ConfigMaps in a namespace
- Delete namespaces
- 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)
- Escalate privileges via ClusterRoles (escalate verb)
- Bind ClusterRoles to identities (bind verb)
- Manage Deployments cluster-wide (potential for privileged pod execution)
- Manage Deployments in a namespace (potential for privileged pod execution)
- Manage DaemonSets cluster-wide (runs on all nodes, high impact)
- Manage DaemonSets in a namespace (runs on nodes, high impact)
- Manage StatefulSets cluster-wide
- Manage StatefulSets in a namespace
- 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 CustomResourceDefinitions
- Manage APIServices
- Create ServiceAccount Tokens
- Create ServiceAccount Tokens (ClusterRole for any SA in any namespace)
- Create TokenReviews (validate arbitrary tokens)
- Create SubjectAccessReviews (check arbitrary permissions)
- Create LocalSubjectAccessReviews (check permissions in a namespace)
- Approve CertificateSigningRequests
- Create CertificateSigningRequests
- Manage (get, list, watch, delete) CertificateSigningRequests
- Manage CSIDrivers (potential node compromise)
- Manage StorageClasses
- Evict Pods cluster-wide
- Evict Pods in a namespace
- Manage RuntimeClasses
- Wildcard permission on all resources cluster-wide (Cluster Admin)
- Wildcard permission on all resources in a namespace (Namespace Admin)
- Manage ClusterIssuers (cert-manager.io)
- Manage ArgoCD Applications (argoproj.io)
- Manage Cilium ClusterwideNetworkPolicies (cilium.io)
- Manage ETCDSnapshotFiles (k3s.cattle.io)
- Impersonate users, groups, or service accounts (cluster-wide)
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- Patch node status cluster-wide
- Read events cluster-wide
- Manage NetworkPolicies cluster-wide
- Manage NetworkPolicies in a namespace
- Manage Endpoints or EndpointSlices cluster-wide
- Manage Endpoints or EndpointSlices in a namespace
- Manage Services cluster-wide
- Manage Services in a namespace
- Read RBAC configuration cluster-wide
- Use privileged PodSecurityPolicy (deprecated)
- Manage PodDisruptionBudgets cluster-wide
- Manage Leases cluster-wide
- Manage Leases in kube-system or kube-node-lease namespace
- List Namespaces (Cluster Reconnaissance)
- List ValidatingWebhookConfigurations (Reconnaissance)
- List MutatingWebhookConfigurations (Reconnaissance)
- Create/Update ControllerRevisions (Potential Tampering)
- Create SelfSubjectRulesReviews (Discover Own Permissions)
- Read LimitRanges (Namespace Information Disclosure)
- Read ResourceQuotas (Namespace Information Disclosure)
- Read All ResourceQuotas (Cluster-wide Information Disclosure)
- Update CertificateSigningRequest Status (Tampering/DoS)
- Manage Ingresses (Namespace Service Exposure/Traffic Redirection)
- Manage IngressClasses (Cluster-wide Traffic Control Tampering)
- Update NetworkPolicy Status (Cluster-wide Tampering)
- Update PodDisruptionBudget Status (Namespace Tampering/DoS)
- Read ComponentStatuses (Control Plane Reconnaissance)
- Update Deployment Scale (Resource Abuse/DoS)
- Update StatefulSet Scale (Resource Abuse/DoS)
- Manage FlowSchemas (API Server DoS/Manipulation)
- Manage PriorityLevelConfigurations (API Server DoS/Manipulation)
- Read CSINode Objects (Node & Storage Reconnaissance)
- Read CSIStorageCapacities (Namespace Storage Reconnaissance)
- Manage VolumeAttachments (Cluster-wide Storage/Node Manipulation)
- Watch All Resources in a Namespace (Broad Information Disclosure)