2 Service Accounts
2 Workloads
49 Bindings
2 Critical
1 High
5 Medium
41 Low
Description
A Helm chart to monitor a Kubernetes Cluster using an OpenTelemetry Collector.
Overview
| Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
|---|---|---|---|---|---|---|
nr-k8s-otel-collector | default | ❌ | — | 21 | 2 | Critical |
nr-k8s-otel-collector-kube-state-metrics | default | ✅ | — | 28 | 1 | Critical |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 nr-k8s-otel-collector-kube-state-metrics
Namespace: default | Automount: ✅
🔑 Permissions (28)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/secrets | list · watch | Critical | ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/configmaps | list · watch | High | ConfigMapAccess DataExposure InformationDisclosure |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | admissionregistration.k8s.io/mutatingwebhookconfigurations | list · watch | Medium | InformationDisclosure Reconnaissance WebhookReconnaissance |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/resourcequotas | list · watch | Medium | InformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | admissionregistration.k8s.io/validatingwebhookconfigurations | list · watch | Medium | InformationDisclosure Reconnaissance WebhookReconnaissance |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | certificates.k8s.io/certificatesigningrequests | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | batch/cronjobs | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | apps/daemonsets | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | apps/deployments | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/endpoints | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | autoscaling/horizontalpodautoscalers | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | networking.k8s.io/ingresses | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | batch/jobs | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | coordination.k8s.io/leases | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/limitranges | list · watch | Low | InformationDisclosure Reconnaissance ResourceConfiguration |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/namespaces | list · watch | Low | ClusterStructure InformationDisclosure Reconnaissance |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | networking.k8s.io/networkpolicies | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/nodes | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/persistentvolumeclaims | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/persistentvolumes | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | policy/poddisruptionbudgets | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/pods | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | apps/replicasets | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/replicationcontrollers | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | core/services | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | apps/statefulsets | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | storage.k8s.io/storageclasses | list · watch | Low | |
ClusterRole nr-k8s-otel-collector-kube-state-metrics | storage.k8s.io/volumeattachments | list · watch | Low |
⚠️ Potential Abuse (11)
The following security risks were found based on the above permissions:
- Read secrets cluster-wide
- Read secrets in a namespace
- Read ConfigMaps cluster-wide
- Read ConfigMaps in a namespace
- List Namespaces (Cluster Reconnaissance)
- List ValidatingWebhookConfigurations (Reconnaissance)
- List MutatingWebhookConfigurations (Reconnaissance)
- Read LimitRanges (Namespace Information Disclosure)
- Read ResourceQuotas (Namespace Information Disclosure)
- Read All ResourceQuotas (Cluster-wide Information Disclosure)
📦 Workloads (1)
| Kind | Name | Container | Image |
|---|---|---|---|
| Deployment | nr-k8s-otel-collector-kube-state-metrics | kube-state-metrics | registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.16.0 |
🤖 nr-k8s-otel-collector
Namespace: default | Automount: ❌
🔑 Permissions (21)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole nr-k8s-otel-collector | core/nodes/proxy | get | Critical | ClusterAdminAccess CodeExecution ElevationOfPrivilege LateralMovement (+1 more) |
ClusterRole nr-k8s-otel-collector | core/events | get · list · watch | Medium | InformationDisclosure OperationalData Reconnaissance |
ClusterRole nr-k8s-otel-collector | core/resourcequotas | list · watch | Medium | InformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration |
ClusterRole nr-k8s-otel-collector | batch/cronjobs | list · watch | Low | |
ClusterRole nr-k8s-otel-collector | apps/daemonsets | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | apps/deployments | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/endpoints | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | autoscaling/horizontalpodautoscalers | list · watch | Low | |
ClusterRole nr-k8s-otel-collector | batch/jobs | list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/namespaces | get · list · watch | Low | ClusterStructure InformationDisclosure Reconnaissance |
ClusterRole nr-k8s-otel-collector | core/nodes | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/nodes/metrics | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/nodes/spec | get | Low | |
ClusterRole nr-k8s-otel-collector | core/nodes/stats | get | Low | |
ClusterRole nr-k8s-otel-collector | core/pods | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/pods/logs | get | Low | |
ClusterRole nr-k8s-otel-collector | core/pods/status | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | apps/replicasets | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/replicationcontrollers | list · watch | Low | |
ClusterRole nr-k8s-otel-collector | core/services | get · list · watch | Low | |
ClusterRole nr-k8s-otel-collector | apps/statefulsets | get · list · watch | Low |
⚠️ Potential Abuse (6)
The following security risks were found based on the above permissions:
- Read events cluster-wide
- List Namespaces (Cluster Reconnaissance)
- Read ResourceQuotas (Namespace Information Disclosure)
- Read All ResourceQuotas (Cluster-wide Information Disclosure)
- Node proxy GET RCE via WebSocket
📦 Workloads (2)
| Kind | Name | Container | Image |
|---|---|---|---|
| DaemonSet | nr-k8s-otel-collector-daemonset | otel-collector-daemonset | docker.io/newrelic/nrdot-collector-k8s:1.8.0 |
| Deployment | nr-k8s-otel-collector-deployment | otel-collector-deployment | docker.io/newrelic/nrdot-collector-k8s:1.8.0 |