kube-prometheus
Riskiest combinations
Workloads whose ServiceAccount has Critical or High RBAC risk and whose image carries known-exploited (CISA KEV) or likely-exploitable CVEs.
Image CVEs: Trivy 0.76.1 + cve.now enrichment, as of 2026-11-07. Default chart images only; a CVE in an image is not proof it is exploitable in this workload. Methodology
Description
Provides easy monitoring definitions for Kubernetes services, and deployment and management of Prometheus instances.
- https://github.com/coreos/kube-prometheus
- https://github.com/coreos/prometheus-operator
- https://coreos.com/operators/prometheus
Overview
| Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk | CVEs |
|---|---|---|---|---|---|---|---|
kube-prometheus-grafana | default | — | 3 | 2 | Critical | Exploited KEV 1 15 crit · 136 high | |
kube-prometheus-kube-state-metrics | default | — | 32 | 1 | Critical | Unknown | |
kube-prometheus-operator | default | — | 20 | 2 | Critical | Exploited* KEV 1 7 crit · 116 high | |
kube-prometheus-prometheus | default | — | 9 | 0 | Critical | — | |
kube-prometheus-admission | default | — | 4 | 2 | Low | High 5 crit · 110 high | |
kube-prometheus-alertmanager | default | — | 1 | 0 | Low | — | |
kube-prometheus-grafana-test | default | — | 1 | 1 | Low | — | |
kube-prometheus-prometheus-node-exporter | default | — | 1 | 1 | Low | High 5 crit · 98 high |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
kube-prometheus-kube-state-metrics
Namespace: default | Automount:
Permissions (32)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole kube-prometheus-kube-state-metrics | core/secrets | list · watch | Critical | ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess |
ClusterRole kube-prometheus-kube-state-metrics | core/configmaps | list · watch | High | ConfigMapAccess DataExposure InformationDisclosure |
ClusterRole kube-prometheus-kube-state-metrics | admissionregistration.k8s.io/mutatingwebhookconfigurations | list · watch | Medium | InformationDisclosure Reconnaissance WebhookReconnaissance |
ClusterRole kube-prometheus-kube-state-metrics | core/resourcequotas | list · watch | Medium | InformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration |
ClusterRole kube-prometheus-kube-state-metrics | admissionregistration.k8s.io/validatingwebhookconfigurations | list · watch | Medium | InformationDisclosure Reconnaissance WebhookReconnaissance |
ClusterRole kube-prometheus-kube-state-metrics | certificates.k8s.io/certificatesigningrequests | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | batch/cronjobs | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | apps/daemonsets | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | extensions/daemonsets | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | apps/deployments | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | extensions/deployments | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/endpoints | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | autoscaling/horizontalpodautoscalers | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | extensions/ingresses | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | networking.k8s.io/ingresses | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | batch/jobs | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/limitranges | list · watch | Low | InformationDisclosure Reconnaissance ResourceConfiguration |
ClusterRole kube-prometheus-kube-state-metrics | core/namespaces | list · watch | Low | ClusterStructure InformationDisclosure Reconnaissance |
ClusterRole kube-prometheus-kube-state-metrics | networking.k8s.io/networkpolicies | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/nodes | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/persistentvolumeclaims | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/persistentvolumes | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | policy/poddisruptionbudgets | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/pods | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | apps/replicasets | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | extensions/replicasets | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/replicationcontrollers | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | core/services | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | apps/statefulsets | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | storage.k8s.io/storageclasses | list · watch | Low | |
ClusterRole kube-prometheus-kube-state-metrics | storage.k8s.io/volumeattachments | list · watch | Low | |
ClusterRole psp-kube-prometheus-kube-state-metrics | policy/podsecuritypolicies (restricted to: kube-prometheus-kube-state-metrics) | use | Low | DeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted |
Potential Abuse (12)
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
- Use privileged PodSecurityPolicy (deprecated)
- 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 | kube-prometheus-kube-state-metrics | kube-state-metrics | quay.io/coreos/kube-state-metrics:v1.9.7 Unavailable
|
kube-prometheus-operator
Namespace: default | Automount:
Permissions (20)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole kube-prometheus-operator | core/configmaps | * | Critical | ClusterWideAccess ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation (+2 more) |
ClusterRole kube-prometheus-operator | apiextensions.k8s.io/customresourcedefinitions | * | Critical | CRDManipulation ClusterWideAccess PotentialPrivilegeEscalation Tampering |
ClusterRole kube-prometheus-operator | core/secrets | * | Critical | ClusterWideAccess ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure (+6 more) |
ClusterRole kube-prometheus-operator | apps/statefulsets | * | Critical | ClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more) |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/alertmanagers | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/alertmanagers/finalizers | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/podmonitors | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/prometheuses | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/prometheuses/finalizers | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/prometheusrules | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/servicemonitors | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/thanosrulers | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | monitoring.coreos.com/thanosrulers/finalizers | * | High | ClusterWideAccess |
ClusterRole kube-prometheus-operator | core/endpoints | create · delete · get · update | Low | |
ClusterRole kube-prometheus-operator | core/namespaces | get · list · watch | Low | ClusterStructure InformationDisclosure Reconnaissance |
ClusterRole kube-prometheus-operator | core/nodes | list · watch | Low | |
ClusterRole kube-prometheus-operator | core/pods | delete · list | Low | |
ClusterRole kube-prometheus-operator | core/services | create · delete · get · update | Low | |
ClusterRole kube-prometheus-operator | core/services/finalizers | create · delete · get · update | Low | |
ClusterRole kube-prometheus-operator-psp | policy/podsecuritypolicies (restricted to: kube-prometheus-operator) | use | Low | DeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted |
Potential Abuse (15)
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
- Manage StatefulSets cluster-wide
- Manage StatefulSets in a namespace
- Manage CustomResourceDefinitions
- Use privileged PodSecurityPolicy (deprecated)
- List Namespaces (Cluster Reconnaissance)
Workloads (2)
| Kind | Name | Container | Image |
|---|---|---|---|
| Deployment | kube-prometheus-operator | kube-prometheus | quay.io/coreos/prometheus-operator:v0.38.1 Unavailable
|
| Deployment | kube-prometheus-operator | tls-proxy | squareup/ghostunnel:v1.5.2 Exploited
KEV 1
Likely 5
7 critical · 116 high Top 8 of 227 CVEs
|
kube-prometheus-prometheus
Namespace: default | Automount:
Permissions (9)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole kube-prometheus-prometheus | core/nodes/proxy | get · list · watch | Critical | ClusterAdminAccess CodeExecution ElevationOfPrivilege LateralMovement (+1 more) |
ClusterRole kube-prometheus-prometheus | core/endpoints | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus | extensions/ingresses | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus | networking.k8s.io/ingresses | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus | core/nodes | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus | core/nodes/metrics | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus | core/pods | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus | core/services | get · list · watch | Low | |
ClusterRole kube-prometheus-prometheus-psp | policy/podsecuritypolicies (restricted to: kube-prometheus-prometheus) | use | Low | DeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted |
Potential Abuse (3)
The following security risks were found based on the above permissions:
Workloads (0)
No workloads use this ServiceAccount.
kube-prometheus-grafana
Namespace: default | Automount:
Permissions (3)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole kube-prometheus-grafana-clusterrole | core/secrets | get · list · watch | Critical | ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess |
ClusterRole kube-prometheus-grafana-clusterrole | core/configmaps | get · list · watch | High | ConfigMapAccess DataExposure InformationDisclosure |
Role kube-prometheus-grafana | extensions/podsecuritypolicies (restricted to: kube-prometheus-grafana) | use | Low | ResourceNameRestricted |
Potential Abuse (5)
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
Workloads (2)
| Kind | Name | Container | Image |
|---|---|---|---|
| Deployment | kube-prometheus-grafana | grafana | grafana/grafana:7.0.3 Exploited
KEV 1
Likely 6
15 critical · 136 high Top 8 of 275 CVEs
|
| Deployment | kube-prometheus-grafana | grafana-sc-dashboard | kiwigrid/k8s-sidecar:0.1.151 High
Likely 5
5 critical · 40 high Top 8 of 72 CVEs
|
kube-prometheus-admission
Namespace: default | Automount:
Permissions (4)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole kube-prometheus-admission | admissionregistration.k8s.io/mutatingwebhookconfigurations | get · update | Low | |
Role kube-prometheus-admission | core/secrets | create · get | Low | |
ClusterRole kube-prometheus-admission | admissionregistration.k8s.io/validatingwebhookconfigurations | get · update | Low | |
ClusterRole kube-prometheus-admission | policy/podsecuritypolicies (restricted to: kube-prometheus-admission) | use | Low | DeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted |
Potential Abuse (2)
The following security risks were found based on the above permissions:
Workloads (2)
| Kind | Name | Container | Image |
|---|---|---|---|
| Job | kube-prometheus-admission-create | create | jettech/kube-webhook-certgen:v1.2.1 High
Likely 7
5 critical · 110 high Top 8 of 224 CVEs
|
| Job | kube-prometheus-admission-patch | patch | jettech/kube-webhook-certgen:v1.2.1 High
Likely 7
5 critical · 110 high Top 8 of 224 CVEs
|
kube-prometheus-alertmanager
Namespace: default | Automount:
Permissions (1)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
Role kube-prometheus-alertmanager | policy/podsecuritypolicies (restricted to: kube-prometheus-alertmanager) | use | Low | ResourceNameRestricted |
Potential Abuse (1)
The following security risks were found based on the above permissions:
Workloads (0)
No workloads use this ServiceAccount.
kube-prometheus-grafana-test
Namespace: default | Automount:
Permissions (1)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
Role kube-prometheus-grafana-test | policy/podsecuritypolicies (restricted to: kube-prometheus-grafana-test) | use | Low | ResourceNameRestricted |
Potential Abuse (1)
The following security risks were found based on the above permissions:
Workloads (1)
| Kind | Name | Container | Image |
|---|---|---|---|
| Pod | kube-prometheus-grafana-test | kube-prometheus-test | bats/bats:v1.1.0 Elevated
1 critical · 0 high Top 1 of 1 CVEs
|
kube-prometheus-prometheus-node-exporter
Namespace: default | Automount:
Permissions (1)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole psp-kube-prometheus-prometheus-node-exporter | extensions/podsecuritypolicies (restricted to: kube-prometheus-prometheus-node-exporter) | use | Low | DeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted |
Potential Abuse (2)
The following security risks were found based on the above permissions:
Workloads (1)
| Kind | Name | Container | Image |
|---|---|---|---|
| DaemonSet | kube-prometheus-prometheus-node-exporter | node-exporter | quay.io/prometheus/node-exporter:v1.0.0 High
Likely 1
5 critical · 98 high Top 8 of 198 CVEs
|