1 Service Accounts
1 Workloads
42 Bindings
14 Critical
11 High
3 Medium
14 Low
Description
Datadog Operator
Overview
| Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
|---|---|---|---|---|---|---|
datadog-operator | default | ❌ | — | 42 | 1 | Critical |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 datadog-operator
Namespace: default | Automount: ❌
🔑 Permissions (42)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole datadog-operator | apiregistration.k8s.io/apiservices | * | Critical | APIServiceManipulation ClusterWideAccess DenialOfService InformationDisclosure PrivilegeEscalation (+2 more) |
ClusterRole datadog-operator | rbac.authorization.k8s.io/clusterrolebindings | * | Critical | BindingToPrivilegedRole ClusterAdminAccess ClusterWideAccess InformationDisclosure PrivilegeEscalation (+4 more) |
ClusterRole datadog-operator | rbac.authorization.k8s.io/clusterroles | * | Critical | BindingToPrivilegedRole ClusterAdminAccess ClusterWideAccess InformationDisclosure PrivilegeEscalation (+4 more) |
ClusterRole datadog-operator | core/configmaps | * | Critical | ClusterWideAccess ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation (+2 more) |
ClusterRole datadog-operator | apps/daemonsets | * | Critical | ClusterWideAccess NodeAccess Persistence PrivilegeEscalation Tampering (+2 more) |
ClusterRole datadog-operator | apps/deployments | * | Critical | ClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more) |
ClusterRole datadog-operator | core/endpoints | * | Critical | ClusterWideAccess DenialOfService ManInTheMiddle NetworkManipulation Tampering (+2 more) |
ClusterRole datadog-operator | admissionregistration.k8s.io/mutatingwebhookconfigurations | * | Critical | ClusterWideAccess DenialOfService InformationDisclosure PrivilegeEscalation Reconnaissance (+4 more) |
ClusterRole datadog-operator | networking.k8s.io/networkpolicies | * | Critical | ClusterWideAccess DenialOfService LateralMovement NetworkManipulation NetworkPolicyManagement (+2 more) |
ClusterRole datadog-operator | core/nodes/proxy | get | Critical | ClusterAdminAccess CodeExecution ElevationOfPrivilege LateralMovement (+1 more) |
ClusterRole datadog-operator | core/pods | * | Critical | ClusterWideAccess LateralMovement Persistence PotentialPrivilegeEscalation PrivilegeEscalation (+3 more) |
ClusterRole datadog-operator | core/secrets | * | Critical | ClusterWideAccess ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure (+6 more) |
ClusterRole datadog-operator | core/serviceaccounts | * | Critical | ClusterAdminAccess ClusterWideAccess IdentityManagement Impersonation PotentialPrivilegeEscalation (+4 more) |
ClusterRole datadog-operator | core/services | * | Critical | ClusterWideAccess DenialOfService NetworkManipulation ServiceExposure Tampering (+1 more) |
ClusterRole datadog-operator | authorization.k8s.io/clusterrolebindings | * | High | ClusterWideAccess |
ClusterRole datadog-operator | roles.rbac.authorization.k8s.io/clusterrolebindings | * | High | ClusterWideAccess |
ClusterRole datadog-operator | authorization.k8s.io/clusterroles | * | High | ClusterWideAccess |
ClusterRole datadog-operator | roles.rbac.authorization.k8s.io/clusterroles | * | High | ClusterWideAccess |
ClusterRole datadog-operator | datadoghq.com/extendeddaemonsets | * | High | ClusterWideAccess |
ClusterRole datadog-operator | authorization.k8s.io/rolebindings | * | High | ClusterWideAccess |
ClusterRole datadog-operator | rbac.authorization.k8s.io/rolebindings | * | High | BindingToPrivilegedRole ClusterWideAccess InformationDisclosure PrivilegeEscalation RBACManipulation (+3 more) |
ClusterRole datadog-operator | roles.rbac.authorization.k8s.io/rolebindings | * | High | ClusterWideAccess |
ClusterRole datadog-operator | authorization.k8s.io/roles | * | High | ClusterWideAccess |
ClusterRole datadog-operator | rbac.authorization.k8s.io/roles | * | High | ClusterWideAccess InformationDisclosure PrivilegeEscalation RBACManipulation RBACQuery (+2 more) |
ClusterRole datadog-operator | roles.rbac.authorization.k8s.io/roles | * | High | ClusterWideAccess |
ClusterRole datadog-operator | core/componentstatuses | get · list · watch | Medium | ControlPlaneDisruption InformationDisclosure Reconnaissance |
ClusterRole datadog-operator | core/events | * | Medium | ClusterWideAccess InformationDisclosure OperationalData Reconnaissance |
ClusterRole datadog-operator | policy/poddisruptionbudgets | * | Medium | AvailabilityImpact ClusterWideAccess DenialOfService Tampering |
ClusterRole datadog-operator | quota.openshift.io/clusterresourcequotas | get · list | Low | |
ClusterRole datadog-operator | batch/cronjobs | get | Low | |
ClusterRole datadog-operator | datadoghq.com/datadogagents | create · delete · get · list · patch · update · watch | Low | |
ClusterRole datadog-operator | datadoghq.com/datadogagents/finalizers | create · delete · get · list · patch · update · watch | Low | |
ClusterRole datadog-operator | datadoghq.com/datadogagents/status | get · patch · update | Low | |
ClusterRole datadog-operator | batch/jobs | get | Low | |
ClusterRole datadog-operator | core/nodes | get · list · watch | Low | |
ClusterRole datadog-operator | core/nodes/metrics | get | Low | |
ClusterRole datadog-operator | core/nodes/spec | get | Low | |
ClusterRole datadog-operator | core/nodes/stats | get | Low | |
ClusterRole datadog-operator | apps/replicasets | get | Low | |
ClusterRole datadog-operator | apps/statefulsets | get | Low | |
ClusterRole datadog-operator | datadoghq.com/watermarkpodautoscalers | get · list · watch | Low | |
ClusterRole datadog-operator | security.openshift.io/securitycontextconstraints (restricted to: restricted) | use | Low | ResourceNameRestricted |
⚠️ Potential Abuse (41)
The following security risks were found based on the above permissions:
- 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
- Read ConfigMaps cluster-wide
- Read ConfigMaps in a namespace
- Modify ConfigMaps cluster-wide
- 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)
- 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 MutatingWebhookConfigurations
- Manage APIServices
- Impersonate users, groups, or service accounts (cluster-wide)
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- 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
- Manage PodDisruptionBudgets cluster-wide
- List MutatingWebhookConfigurations (Reconnaissance)
- Read ComponentStatuses (Control Plane Reconnaissance)
- Node proxy GET RCE via WebSocket
📦 Workloads (1)
| Kind | Name | Container | Image |
|---|---|---|---|
| Deployment | datadog-operator | datadog-operator | gcr.io/datadoghq/operator:0.4.0 |