Overview

FieldValue
ID1017
NameManage PersistentVolumes (cluster-wide storage manipulation)
Risk CategoryTampering
Risk LevelCritical
Role TypeClusterRole
API Groupscore
Resourcespersistentvolumes
Verbscreate, update, patch, delete, deletecollection
TagsDataExposure DataLoss DenialOfService StorageManipulation Tampering

Description

Permits creating, updating, patching, or deleting PersistentVolumes across the cluster. This allows manipulation of cluster-wide storage, potentially leading to data exposure by accessing sensitive data, data loss by deleting volumes, tampering with stored information, or denial of service.

Abuse Scenarios

  1. Create a new PersistentVolume with hostPath to access node filesystem.
kubectl create -f - <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
  name: hostpath-pv
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /
EOF
# Example: kubectl create -f - <<EOF ... EOF
  1. Delete an existing PersistentVolume, potentially causing data loss.
kubectl delete pv <persistentvolume-name>
# Example: kubectl delete pv my-app-pv