longhorn
v1.9.0
3 Service Accounts
2 Workloads
86 Bindings
20 Critical
56 High
3 Medium
7 Low
Description
Longhorn is a distributed block storage system for Kubernetes.
- https://github.com/longhorn/longhorn
- https://github.com/longhorn/longhorn-engine
- https://github.com/longhorn/longhorn-instance-manager
- https://github.com/longhorn/longhorn-share-manager
- https://github.com/longhorn/longhorn-manager
- https://github.com/longhorn/longhorn-ui
- https://github.com/longhorn/longhorn-tests
- https://github.com/longhorn/backing-image-manager
Overview
Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
---|---|---|---|---|---|---|
longhorn-service-account | default | ❌ | — | 86 | 6 | Critical |
longhorn-support-bundle | default | ❌ | — | 0 | 0 | — |
longhorn-ui-service-account | default | ❌ | — | 0 | 1 | — |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 longhorn-service-account
Namespace: default
| Automount: ❌
🔑 Permissions (86)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole longhorn-role | rbac.authorization.k8s.io/clusterrolebindings | * | Critical | BindingToPrivilegedRole ClusterAdminAccess ClusterWideAccess InformationDisclosure PrivilegeEscalation (+4 more) |
ClusterRole longhorn-role | rbac.authorization.k8s.io/clusterroles | * | Critical | BindingToPrivilegedRole ClusterAdminAccess ClusterWideAccess InformationDisclosure PrivilegeEscalation (+4 more) |
ClusterRole longhorn-role | core/configmaps | * | Critical | ClusterWideAccess ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation (+2 more) |
ClusterRole longhorn-role | batch/cronjobs | * | Critical | ClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more) |
ClusterRole longhorn-role | storage.k8s.io/csidrivers | * | Critical | ClusterWideAccess NodeAccess PrivilegeEscalation StorageManipulation Tampering (+1 more) |
ClusterRole longhorn-role | apiextensions.k8s.io/customresourcedefinitions | * | Critical | CRDManipulation ClusterWideAccess PotentialPrivilegeEscalation Tampering |
ClusterRole longhorn-role | apps/daemonsets | * | Critical | ClusterWideAccess NodeAccess Persistence PrivilegeEscalation Tampering (+2 more) |
ClusterRole longhorn-role | apps/deployments | * | Critical | ClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more) |
ClusterRole longhorn-role | core/endpoints | * | Critical | ClusterWideAccess DenialOfService ManInTheMiddle NetworkManipulation Tampering (+2 more) |
ClusterRole longhorn-role | batch/jobs | * | Critical | ClusterWideAccess PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+1 more) |
ClusterRole longhorn-role | coordination.k8s.io/leases | * | Critical | ClusterWideAccess ControlPlaneDisruption CriticalNamespace DenialOfService LeaderElectionAbuse (+2 more) |
ClusterRole longhorn-role | core/nodes | * | Critical | ClusterWideAccess DenialOfService NodeAccess PotentialPrivilegeEscalation ResourceDeletion (+2 more) |
ClusterRole longhorn-role | core/persistentvolumes | * | Critical | ClusterWideAccess DataExposure DataLoss DenialOfService StorageManipulation (+2 more) |
ClusterRole longhorn-role | core/pods | * | Critical | ClusterWideAccess LateralMovement Persistence PotentialPrivilegeEscalation PrivilegeEscalation (+3 more) |
ClusterRole longhorn-role | policy/podsecuritypolicies | * | Critical | ClusterWideAccess DeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation (+1 more) |
ClusterRole longhorn-role | core/secrets | * | Critical | ClusterWideAccess ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure (+6 more) |
ClusterRole longhorn-role | core/serviceaccounts | * | Critical | ClusterAdminAccess ClusterWideAccess IdentityManagement Impersonation PotentialPrivilegeEscalation (+4 more) |
ClusterRole longhorn-role | core/services | * | Critical | ClusterWideAccess DenialOfService NetworkManipulation ServiceExposure Tampering (+1 more) |
ClusterRole longhorn-role | apps/statefulsets | * | Critical | ClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more) |
ClusterRole longhorn-role | storage.k8s.io/volumeattachments | * | Critical | ClusterWideAccess DataExposure DenialOfService NodeAccess PotentialPrivilegeEscalation (+3 more) |
ClusterRole longhorn-role | longhorn.io/backingimagedatasources | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backingimagedatasources/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backingimagemanagers | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backingimagemanagers/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backingimages | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backingimages/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backupbackingimages | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backupbackingimages/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backups | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backups/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backuptargets | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backuptargets/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backupvolumes | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/backupvolumes/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/engineimages | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/engineimages/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/engines | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/engines/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/instancemanagers | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/instancemanagers/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/nodes | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/nodes/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/orphans | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/orphans/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | core/persistentvolumeclaims | * | High | ClusterWideAccess |
ClusterRole longhorn-role | core/persistentvolumeclaims/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | core/pods/log | * | High | ClusterWideAccess ClusterWideLogAccess DataExposure InformationDisclosure LogAccess (+1 more) |
ClusterRole longhorn-role | core/proxy/nodes | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/recurringjobs | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/recurringjobs/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/replicas | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/replicas/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | rbac.authorization.k8s.io/rolebindings | * | High | BindingToPrivilegedRole ClusterWideAccess InformationDisclosure PrivilegeEscalation RBACManipulation (+3 more) |
ClusterRole longhorn-role | rbac.authorization.k8s.io/roles | * | High | ClusterWideAccess InformationDisclosure PrivilegeEscalation RBACManipulation RBACQuery (+2 more) |
ClusterRole longhorn-role | longhorn.io/settings | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/settings/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/sharemanagers | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/sharemanagers/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/snapshots | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/snapshots/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | storage.k8s.io/storageclasses | * | High | ClusterWideAccess DenialOfService StorageManipulation Tampering |
ClusterRole longhorn-role | longhorn.io/supportbundles | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/supportbundles/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/systembackups | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/systembackups/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/systemrestores | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/systemrestores/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/volumeattachments | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/volumeattachments/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | storage.k8s.io/volumeattachments/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/volumes | * | High | ClusterWideAccess |
ClusterRole longhorn-role | longhorn.io/volumes/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | snapshot.storage.k8s.io/volumesnapshotclasses | * | High | ClusterWideAccess |
ClusterRole longhorn-role | snapshot.storage.k8s.io/volumesnapshotcontents | * | High | ClusterWideAccess |
ClusterRole longhorn-role | snapshot.storage.k8s.io/volumesnapshotcontents/status | * | High | ClusterWideAccess |
ClusterRole longhorn-role | snapshot.storage.k8s.io/volumesnapshots | * | High | ClusterWideAccess |
ClusterRole longhorn-role | storage.k8s.io/csinodes | * | Medium | ClusterWideAccess InformationDisclosure NodeAccess Reconnaissance StorageDetailsDisclosure (+1 more) |
ClusterRole longhorn-role | core/events | * | Medium | ClusterWideAccess InformationDisclosure OperationalData Reconnaissance |
ClusterRole longhorn-role | policy/poddisruptionbudgets | * | Medium | AvailabilityImpact ClusterWideAccess DenialOfService Tampering |
ClusterRole longhorn-role | apiregistration.k8s.io/apiservices | list · watch | Low | |
ClusterRole longhorn-role | admissionregistration.k8s.io/mutatingwebhookconfigurations | create · delete · get · list · patch | Low | |
ClusterRole longhorn-role | core/namespaces | get · list | Low | |
ClusterRole longhorn-role | metrics.k8s.io/nodes | get · list | Low | |
ClusterRole longhorn-role | metrics.k8s.io/pods | get · list | Low | |
ClusterRole longhorn-role | scheduling.k8s.io/priorityclasses | list · watch | Low | |
ClusterRole longhorn-role | admissionregistration.k8s.io/validatingwebhookconfigurations | create · delete · get · list · patch | Low |
⚠️ Potential Abuse (53)
The following security risks were found based on the above permissions:
- Create pods cluster-wide
- Create pods in a namespace
- Update/Patch pods cluster-wide
- Update/Patch pods in a namespace
- Read secrets cluster-wide
- Read secrets in a namespace
- Modify secrets cluster-wide
- Modify secrets in a namespace
- Modify node configuration (labels, taints)
- Delete nodes
- Manage PersistentVolumes (cluster-wide storage manipulation)
- Read pod logs cluster-wide
- Read pod logs in a namespace
- Read ConfigMaps cluster-wide
- Read ConfigMaps in a namespace
- Modify ConfigMaps cluster-wide
- Modify ConfigMaps in a namespace
- Manage ClusterRoles (create, update, patch, delete)
- Manage ClusterRoleBindings (create, update, patch, delete)
- Manage Roles in a namespace (create, update, patch, delete)
- Manage RoleBindings in a namespace (create, update, patch, delete)
- Escalate privileges via ClusterRoles (escalate verb)
- Bind ClusterRoles to identities (bind verb)
- 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)
- Manage StatefulSets cluster-wide
- Manage StatefulSets in a namespace
- Manage CronJobs cluster-wide (scheduled privileged execution, persistence)
- Manage CronJobs in a namespace (scheduled privileged execution, persistence)
- Manage Jobs cluster-wide (one-off privileged execution)
- Manage Jobs in a namespace (one-off privileged execution)
- Manage CustomResourceDefinitions
- Manage CSIDrivers (potential node compromise)
- Manage StorageClasses
- Impersonate users, groups, or service accounts (cluster-wide)
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- Read events cluster-wide
- Manage Endpoints or EndpointSlices cluster-wide
- Manage Endpoints or EndpointSlices in a namespace
- Manage Services cluster-wide
- Manage Services in a namespace
- Read RBAC configuration cluster-wide
- Use privileged PodSecurityPolicy (deprecated)
- Manage PodDisruptionBudgets cluster-wide
- Manage Leases cluster-wide
- Manage Leases in kube-system or kube-node-lease namespace
- Read CSINode Objects (Node & Storage Reconnaissance)
- Manage VolumeAttachments (Cluster-wide Storage/Node Manipulation)
📦 Workloads (6)
Kind | Name | Container | Image |
---|---|---|---|
DaemonSet | longhorn-manager | longhorn-manager | longhornio/longhorn-manager:v1.9.0 |
DaemonSet | longhorn-manager | pre-pull-share-manager-image | longhornio/longhorn-share-manager:v1.9.0 |
Deployment | longhorn-driver-deployer | longhorn-driver-deployer | longhornio/longhorn-manager:v1.9.0 |
Job | longhorn-post-upgrade | longhorn-post-upgrade | longhornio/longhorn-manager:v1.9.0 |
Job | longhorn-pre-upgrade | longhorn-pre-upgrade | longhornio/longhorn-manager:v1.9.0 |
Job | longhorn-uninstall | longhorn-uninstall | longhornio/longhorn-manager:v1.9.0 |
🤖 longhorn-support-bundle
Namespace: default
| Automount: ❌
🔑 Permissions (0)
No explicit RBAC bindings.
📦 Workloads (0)
No workloads use this ServiceAccount.
🤖 longhorn-ui-service-account
Namespace: default
| Automount: ❌
🔑 Permissions (0)
No explicit RBAC bindings.
📦 Workloads (1)
Kind | Name | Container | Image |
---|---|---|---|
Deployment | longhorn-ui | longhorn-ui | longhornio/longhorn-ui:v1.9.0 |