1 Service Accounts
1 Workloads
43 Bindings
7 Critical
3 High
4 Medium
29 Low
Description
Network Observability in Kubernetes based on eBPF.
- https://github.com/netobserv/network-observability-operator
- https://github.com/netobserv/flowlogs-pipeline
- https://github.com/netobserv/netobserv-ebpf-agent
- https://github.com/netobserv/network-observability-console-plugin
- https://github.com/netobserv/network-observability-cli
Overview
Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
---|---|---|---|---|---|---|
netobserv-controller-manager | default | ❌ | — | 43 | 1 | Critical |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 netobserv-controller-manager
Namespace: default
| Automount: ❌
🔑 Permissions (43)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole netobserv-manager-role | core/configmaps | create · delete · get · list · patch · update · watch | Critical | ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation Tampering |
ClusterRole netobserv-manager-role | apps/daemonsets | create · delete · get · list · patch · update · watch | Critical | NodeAccess Persistence PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole netobserv-manager-role | apps/deployments | create · delete · get · list · patch · update · watch | Critical | Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
Role netobserv-leader-election-role | coordination.k8s.io/leases | create · delete · get · list · patch · update · watch | Critical | ControlPlaneDisruption CriticalNamespace DenialOfService Tampering |
ClusterRole netobserv-manager-role | networking.k8s.io/networkpolicies | create · delete · get · list · patch · update · watch | Critical | DenialOfService LateralMovement NetworkManipulation NetworkPolicyManagement Tampering |
ClusterRole netobserv-manager-role | core/secrets | create · delete · get · list · patch · update · watch | Critical | ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure Persistence (+4 more) |
ClusterRole netobserv-manager-role | core/services | create · delete · get · list · patch · update · watch | Critical | DenialOfService NetworkManipulation ServiceExposure Tampering |
Role netobserv-leader-election-role | core/configmaps | create · delete · get · list · patch · update · watch | High | ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation Tampering |
ClusterRole netobserv-manager-role | core/namespaces | create · delete · get · list · patch · update · watch | High | ClusterStructure DenialOfService InformationDisclosure NamespaceLifecycle Reconnaissance (+1 more) |
ClusterRole netobserv-manager-role | core/serviceaccounts | create · delete · get · list · patch · update · watch | High | IdentityManagement PotentialPrivilegeEscalation Tampering |
ClusterRole netobserv-manager-role | rbac.authorization.k8s.io/clusterrolebindings | create · delete · get · list · update · watch | Medium | InformationDisclosure RBACQuery Reconnaissance |
ClusterRole netobserv-manager-role | rbac.authorization.k8s.io/rolebindings | create · delete · get · list · update · watch | Medium | InformationDisclosure RBACQuery Reconnaissance |
ClusterRole netobserv-manager-role | authorization.k8s.io/subjectaccessreviews | create | Medium | InformationDisclosure RBACQuery |
ClusterRole netobserv-manager-role | authentication.k8s.io/tokenreviews | create | Medium | CredentialAccess InformationDisclosure RBACQuery |
ClusterRole netobserv-manager-role | apiregistration.k8s.io/apiservices | get · list · watch | Low | |
ClusterRole netobserv-manager-role | bpfman.io/clusterbpfapplications | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | bpfman.io/clusterbpfapplications/status | get · patch · update | Low | |
ClusterRole netobserv-manager-role | k8s.ovn.org/clusteruserdefinednetworks | get · list · watch | Low | |
ClusterRole netobserv-manager-role | config.openshift.io/clusterversions | get · list · watch | Low | |
ClusterRole netobserv-manager-role | console.openshift.io/consoleplugins | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | operator.openshift.io/consoles | get · list · update · watch | Low | |
ClusterRole netobserv-manager-role | apiextensions.k8s.io/customresourcedefinitions | get · list · watch | Low | |
ClusterRole netobserv-manager-role | apiextensions.k8s.io/customresourcedefinitions/status | patch · update | Low | |
ClusterRole netobserv-manager-role | core/endpoints | get · list · watch | Low | |
Role netobserv-leader-election-role | core/events | create · patch | Low | |
ClusterRole netobserv-manager-role | flows.netobserv.io/flowcollectors | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | flows.netobserv.io/flowcollectors/finalizers | update | Low | |
ClusterRole netobserv-manager-role | flows.netobserv.io/flowcollectors/status | get · patch · update | Low | |
ClusterRole netobserv-manager-role | flows.netobserv.io/flowmetrics | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | flows.netobserv.io/flowmetrics/status | get · patch · update | Low | |
ClusterRole netobserv-manager-role | autoscaling/horizontalpodautoscalers | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | loki.grafana.com/lokistacks | get · list · watch | Low | |
ClusterRole netobserv-manager-role | config.openshift.io/networks | get · list · watch | Low | |
ClusterRole netobserv-manager-role | core/nodes | get · list · watch | Low | |
ClusterRole netobserv-manager-role | core/pods | get · list · watch | Low | |
ClusterRole netobserv-manager-role | metrics.k8s.io/pods | create | Low | |
ClusterRole netobserv-manager-role | monitoring.coreos.com/prometheusrules | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | apps/replicasets | get · list · watch | Low | |
ClusterRole netobserv-manager-role | security.openshift.io/securitycontextconstraints | create · list · update · watch | Low | |
ClusterRole netobserv-manager-role | monitoring.coreos.com/servicemonitors | create · delete · get · list · patch · update · watch | Low | |
ClusterRole netobserv-manager-role | k8s.ovn.org/userdefinednetworks | get · list · watch | Low | |
ClusterRole netobserv-manager-role | security.openshift.io/securitycontextconstraints (restricted to: hostnetwork) | use | Low | ResourceNameRestricted |
ClusterRole netobserv-manager-role | loki.grafana.com/network (restricted to: logs) | create | Low | ResourceNameRestricted |
⚠️ Potential Abuse (25)
The following security risks were found based on the above permissions:
- 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
- Delete namespaces
- 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)
- Create TokenReviews (validate arbitrary tokens)
- Create SubjectAccessReviews (check arbitrary permissions)
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- Manage NetworkPolicies cluster-wide
- Manage NetworkPolicies in a namespace
- Manage Services cluster-wide
- Manage Services in a namespace
- Read RBAC configuration cluster-wide
- Manage Leases in kube-system or kube-node-lease namespace
- List Namespaces (Cluster Reconnaissance)
📦 Workloads (1)
Kind | Name | Container | Image |
---|---|---|---|
Deployment | netobserv-controller-manager | manager | quay.io/netobserv/network-observability-operator:1.9.0-community |