Description

A network load-balancer implementation for Kubernetes using standard routing protocols

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
metallb-controllerdefault71Critical
metallb-speakerdefault84High
metallb-frr-k8s-controllerdefault98Medium

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


Identities

🤖 metallb-controller

Namespace: default  |  Automount:

🔑 Permissions (7)

RoleResourceVerbsRiskTags
ClusterRole metallb:controllerapiextensions.k8s.io/customresourcedefinitionscreate · delete · get · list · patch · update · watchCriticalCRDManipulation PotentialPrivilegeEscalation Tampering
ClusterRole metallb:controlleradmissionregistration.k8s.io/validatingwebhookconfigurationscreate · delete · get · list · patch · update · watchCriticalDenialOfService InformationDisclosure Reconnaissance Tampering WebhookManipulation (+1 more)
ClusterRole metallb:controllercore/eventscreate · patchLow
ClusterRole metallb:controllercore/namespacesget · list · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole metallb:controllercore/nodeslistLow
ClusterRole metallb:controllercore/servicesget · list · watchLow
ClusterRole metallb:controllercore/services/statusupdateLow

⚠️ Potential Abuse (5)

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

📦 Workloads (1)

KindNameContainerImage
Deploymentmetallb-controllercontrollerquay.io/metallb/controller:v0.15.2

🤖 metallb-speaker

Namespace: default  |  Automount:

🔑 Permissions (8)

RoleResourceVerbsRiskTags
ClusterRole metallb:speakermetallb.io/servicel2statuses*HighClusterWideAccess WildcardPermission
ClusterRole metallb:speakermetallb.io/servicel2statuses/status*HighClusterWideAccess WildcardPermission
ClusterRole metallb:speakercore/endpointsget · list · watchLow
ClusterRole metallb:speakerdiscovery.k8s.io/endpointslicesget · list · watchLow
ClusterRole metallb:speakercore/eventscreate · patchLow
ClusterRole metallb:speakercore/namespacesget · list · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole metallb:speakercore/nodesget · list · watchLow
ClusterRole metallb:speakercore/servicesget · list · watchLow

⚠️ Potential Abuse (3)

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

📦 Workloads (4)

KindNameContainerImage
DaemonSetmetallb-speakerfrrquay.io/frrouting/frr:9.1.0
DaemonSetmetallb-speakerfrr-metricsquay.io/frrouting/frr:9.1.0
DaemonSetmetallb-speakerreloaderquay.io/frrouting/frr:9.1.0
DaemonSetmetallb-speakerspeakerquay.io/metallb/speaker:v0.15.2

🤖 metallb-frr-k8s-controller

Namespace: default  |  Automount:

🔑 Permissions (9)

RoleResourceVerbsRiskTags
ClusterRole metallb-frr-k8s-controllerauthorization.k8s.io/subjectaccessreviewscreateMediumInformationDisclosure RBACQuery
ClusterRole metallb-frr-k8s-controllerauthentication.k8s.io/tokenreviewscreateMediumCredentialAccess InformationDisclosure RBACQuery
ClusterRole metallb-frr-k8s-controlleradmissionregistration.k8s.io/validatingwebhookconfigurationsget · list · update · watchMediumInformationDisclosure Reconnaissance WebhookReconnaissance
ClusterRole metallb-frr-k8s-controllerfrrk8s.metallb.io/bgpsessionstatescreate · delete · get · list · patch · update · watchLow
ClusterRole metallb-frr-k8s-controllerfrrk8s.metallb.io/bgpsessionstates/statusget · patch · updateLow
ClusterRole metallb-frr-k8s-controllerfrrk8s.metallb.io/frrconfigurationsget · list · watchLow
ClusterRole metallb-frr-k8s-controllerfrrk8s.metallb.io/frrnodestatescreate · delete · get · list · patch · update · watchLow
ClusterRole metallb-frr-k8s-controllerfrrk8s.metallb.io/frrnodestates/statusget · patch · updateLow
ClusterRole metallb-frr-k8s-controllercore/nodesget · list · watchLow

⚠️ Potential Abuse (4)

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

📦 Workloads (8)

KindNameContainerImage
DaemonSetmetallb-frr-k8scontrollerquay.io/metallb/frr-k8s:v0.0.20
DaemonSetmetallb-frr-k8sfrrquay.io/frrouting/frr:9.1.0
DaemonSetmetallb-frr-k8sfrr-metricsquay.io/frrouting/frr:9.1.0
DaemonSetmetallb-frr-k8sfrr-statusquay.io/frrouting/frr:9.1.0
DaemonSetmetallb-frr-k8skube-rbac-proxygcr.io/kubebuilder/kube-rbac-proxy:v0.12.0
DaemonSetmetallb-frr-k8skube-rbac-proxy-frrgcr.io/kubebuilder/kube-rbac-proxy:v0.12.0
DaemonSetmetallb-frr-k8sreloaderquay.io/frrouting/frr:9.1.0
Deploymentmetallb-frr-k8s-webhook-serverfrr-k8s-webhook-serverquay.io/metallb/frr-k8s:v0.0.20