Description

Kubernetes Native Policy Management

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
kyverno-admission-controllerdefault73Critical
kyverno-background-controllerdefault51Critical
kyverno-reports-controllerdefault51Critical
kyverno-migrate-resourcesdefault41High
kyverno-reports-serverdefault151Medium
kyverno-cleanup-controllerdefault111Low
kyverno-postgresqldefault01

Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.


Identities

🤖 kyverno-admission-controller

Namespace: default  |  Automount:

🔑 Permissions (7)

RoleResourceVerbsRiskTags
Role kyverno:admission-controllercoordination.k8s.io/leasescreate · delete · get · patch · updateCriticalControlPlaneDisruption CriticalNamespace DenialOfService Tampering
Role kyverno:admission-controllercore/secretscreate · delete · get · list · patch · update · watchCriticalCredentialAccess DataExposure InformationDisclosure Persistence PotentialPrivilegeEscalation (+2 more)
Role kyverno:admission-controllerapps/deployments/scaleget · list · patch · update · watchHighDenialOfService ResourceModification Tampering WorkloadLifecycle
Role kyverno:admission-controllercore/serviceaccountscreate · delete · get · list · patch · update · watchMediumIdentityManagement PotentialPrivilegeEscalation Tampering
Role kyverno:admission-controllerapps/deploymentsget · list · patch · update · watchLow
Role kyverno:admission-controllercore/configmaps (restricted to: kyverno)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted
Role kyverno:admission-controllercore/configmaps (restricted to: kyverno-metrics)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted

⚠️ Potential Abuse (7)

The following security risks were found based on the above permissions:

📦 Workloads (3)

KindNameContainerImage
Deploymentkyverno-admission-controllerkyvernoreg.kyverno.io/kyverno/kyverno:v1.19.1
Jobkyverno-rm-webhookskubectlghcr.io/kyverno/readiness-checker:v1.19.1
Jobkyverno-scale-to-zerokubectlghcr.io/kyverno/readiness-checker:v1.19.1

🤖 kyverno-background-controller

Namespace: default  |  Automount:

🔑 Permissions (5)

RoleResourceVerbsRiskTags
Role kyverno:background-controllercore/secretsget · list · watchCriticalCredentialAccess DataExposure InformationDisclosure SecretAccess
Role kyverno:background-controllercoordination.k8s.io/leasescreateLow
Role kyverno:background-controllercore/configmaps (restricted to: kyverno)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted
Role kyverno:background-controllercoordination.k8s.io/leases (restricted to: kyverno-background-controller)delete · get · patch · updateLowResourceNameRestricted
Role kyverno:background-controllercore/configmaps (restricted to: kyverno-metrics)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted

⚠️ Potential Abuse (3)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Deploymentkyverno-background-controllercontrollerreg.kyverno.io/kyverno/background-controller:v1.19.1

🤖 kyverno-reports-controller

Namespace: default  |  Automount:

🔑 Permissions (5)

RoleResourceVerbsRiskTags
Role kyverno:reports-controllercore/secretsget · list · watchCriticalCredentialAccess DataExposure InformationDisclosure SecretAccess
Role kyverno:reports-controllercoordination.k8s.io/leasescreateLow
Role kyverno:reports-controllercore/configmaps (restricted to: kyverno)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted
Role kyverno:reports-controllercore/configmaps (restricted to: kyverno-metrics)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted
Role kyverno:reports-controllercoordination.k8s.io/leases (restricted to: kyverno-reports-controller)delete · get · patch · updateLowResourceNameRestricted

⚠️ Potential Abuse (3)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Deploymentkyverno-reports-controllercontrollerreg.kyverno.io/kyverno/reports-controller:v1.19.1

🤖 kyverno-migrate-resources

Namespace: default  |  Automount:

🔑 Permissions (4)

RoleResourceVerbsRiskTags
ClusterRole kyverno:migrate-resourceskyverno.io/*get · list · updateHighClusterWideAccess WildcardPermission
ClusterRole kyverno:migrate-resourcespolicies.kyverno.io/*get · list · updateHighClusterWideAccess WildcardPermission
ClusterRole kyverno:migrate-resourcesapiextensions.k8s.io/customresourcedefinitionsgetLow
ClusterRole kyverno:migrate-resourcesapiextensions.k8s.io/customresourcedefinitions/statusupdateLow

⚠️ Potential Abuse (2)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Jobkyverno-migrate-resourceskyverno-clireg.kyverno.io/kyverno/kyverno-cli:v1.19.1

🤖 kyverno-reports-server

Namespace: default  |  Automount:

🔑 Permissions (15)

RoleResourceVerbsRiskTags
ClusterRole kyverno-reports-serverauthorization.k8s.io/subjectaccessreviewscreateMediumInformationDisclosure RBACQuery
ClusterRole kyverno-reports-serverapiregistration.k8s.io/apiservicescreateLow
ClusterRole kyverno-reports-serverreports.kyverno.io/clusterephemeralreportscreate · delete · deletecollection · get · list · patch · update · watchLow
ClusterRole kyverno-reports-serverwgpolicyk8s.io/clusterpolicyreportscreate · delete · deletecollection · get · list · patch · update · watchLow
ClusterRole kyverno-reports-serverwgpolicyk8s.io/clusterpolicyreports/statuscreate · delete · deletecollection · get · list · patch · update · watchLow
ClusterRole kyverno-reports-serverreports.kyverno.io/ephemeralreportscreate · delete · deletecollection · get · list · patch · update · watchLow
ClusterRole kyverno-reports-servercore/eventscreate · patchLow
ClusterRole kyverno-reports-serverevents.k8s.io/eventscreate · patchLow
ClusterRole kyverno-reports-servercore/namespacesgetLow
Role kyverno-reports-servercore/podsget · listLow
ClusterRole kyverno-reports-serverwgpolicyk8s.io/policyreportscreate · delete · deletecollection · get · list · patch · update · watchLow
ClusterRole kyverno-reports-serverwgpolicyk8s.io/policyreports/statuscreate · delete · deletecollection · get · list · patch · update · watchLow
ClusterRole kyverno-reports-serverapiregistration.k8s.io/apiservices (restricted to: v1.reports.kyverno.io)delete · get · patch · updateLowResourceNameRestricted
ClusterRole kyverno-reports-serverapiregistration.k8s.io/apiservices (restricted to: v1alpha1.openreports.io)delete · get · patch · updateLowResourceNameRestricted
ClusterRole kyverno-reports-serverapiregistration.k8s.io/apiservices (restricted to: v1alpha2.wgpolicyk8s.io)delete · get · patch · updateLowResourceNameRestricted

⚠️ Potential Abuse (2)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Deploymentkyverno-reports-serverreports-serverghcr.io/kyverno/reports-server:v0.1.6

🤖 kyverno-cleanup-controller

Namespace: default  |  Automount:

🔑 Permissions (11)

RoleResourceVerbsRiskTags
Role kyverno:cleanup-controllerapps/deploymentsget · list · watchLow
Role kyverno:cleanup-controllerdiscovery.k8s.io/endpointsliceslistLow
Role kyverno:cleanup-controllercoordination.k8s.io/leasescreateLow
Role kyverno:cleanup-controllercore/secretscreateLow
Role kyverno:cleanup-controllercore/configmaps (restricted to: kyverno)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted
Role kyverno:cleanup-controllercoordination.k8s.io/leases (restricted to: kyverno-cleanup-controller)delete · get · patch · updateLowResourceNameRestricted
Role kyverno:cleanup-controllercore/secrets (restricted to: kyverno-cleanup-controller.default.metering.kyverno-tls-ca)delete · get · list · update · watchLowCredentialAccess DataExposure InformationDisclosure ResourceNameRestricted SecretAccess
Role kyverno:cleanup-controllercore/secrets (restricted to: kyverno-cleanup-controller.default.metering.kyverno-tls-pair)delete · get · list · update · watchLowCredentialAccess DataExposure InformationDisclosure ResourceNameRestricted SecretAccess
Role kyverno:cleanup-controllercore/secrets (restricted to: kyverno-cleanup-controller.default.svc.kyverno-tls-ca)delete · get · list · update · watchLowCredentialAccess DataExposure InformationDisclosure ResourceNameRestricted SecretAccess
Role kyverno:cleanup-controllercore/secrets (restricted to: kyverno-cleanup-controller.default.svc.kyverno-tls-pair)delete · get · list · update · watchLowCredentialAccess DataExposure InformationDisclosure ResourceNameRestricted SecretAccess
Role kyverno:cleanup-controllercore/configmaps (restricted to: kyverno-metrics)get · list · watchLowConfigMapAccess DataExposure InformationDisclosure ResourceNameRestricted

⚠️ Potential Abuse (3)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Deploymentkyverno-cleanup-controllercontrollerreg.kyverno.io/kyverno/cleanup-controller:v1.19.1

🤖 kyverno-postgresql

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (1)

KindNameContainerImage
StatefulSetkyverno-postgresqlpostgresqldocker.io/bitnamilegacy/postgresql:16.1.0-debian-11-r22