FileStorage

EFS/Azure Files/Filestore.

class: Storage

Realizing resources

aws aws

resourcescopeenumeraterequired permissions
aws:efs:filesystem regional elasticfilesystem:DescribeFileSystems elasticfilesystem:DescribeFileSystems
aws:fsx:file_system regional fsx:DescribeFileSystems fsx:DescribeFileSystems

gcp gcp

resourcescopeenumeraterequired permissions
gcp:file:instance global file.projects.locations.instances.list file.instances.list

azure azure

resourcescopeenumeraterequired permissions
azure:netapp:account global arg:microsoft.netapp/netappaccounts Microsoft.NetApp/netappaccounts/read

Rules that touch FileStorage 26

A principal with elasticfilesystem:CreateMountTarget can place a new mount target in a subnet they control, gaining network access to the EFS file system.
A principal with elasticfilesystem:PutFileSystemPolicy can rewrite the EFS file system resource policy.
A principal with elasticfilesystem:ClientMount in the EFS file system policy can mount the file system and read all file data via NFS.
A principal with elasticfilesystem:ClientRootAccess can bypass POSIX root-squash and read all file data including root-owned files.
A principal with elasticfilesystem:ClientWrite in the EFS file system policy can mount the file system and write data via NFS.
An EFS file system policy granting ClientMount to a principal from another AWS account creates a cross-account NFS data path.
An EFS file system with no explicit file system policy (PolicyNotFound) is fully accessible to any same-account IAM principal that can network-reach the mount target.
A principal with elasticfilesystem:ModifyMountTargetSecurityGroups can modify mount target security groups to enable NFS access, converting conditional data-access edges to active.
A principal with elasticfilesystem:PutFileSystemPolicy can self-grant ClientMount and read all file data on the EFS file system.
A principal with elasticfilesystem:PutFileSystemPolicy can self-grant ClientWrite and write all file data on the EFS file system.
An identity with fsx:CreateDataRepositoryTask on an FSx for Lustre file system with a Data Repository Association (DRA) pointing to an attacker-accessible S3 bucket can trigger a data export from the Lustre FS to S3, exfiltrating all file data.
Cluster init scripts run as root before user code; write access to the init-script URI + cluster edit = code injection on every node.
ANF account with AD join configured contains the machine account password as an AccessKey.
netAppAccounts/write permission on ANF account enables AD join configuration modification.
In-VNet network access to ANF volume enables NFS/SMB data-plane read (ARM volumes/read is metadata-only prerequisite).
listCredentials/action permission on ANF account grants CanReadCredential on the AD join AccessKey.
snapshots/write permission enables snapshot creation/restore, allowing within-subscription data exfiltration.
volumes/write permission on ANF volume enables export policy mutation.
Storage File Data SMB Share Reader/Contributor grants SMB file share read access - enabling lateral movement and credential capture via shared files.
A principal holding file.backups.get in the source project plus file.instances.create or file.instances.update in an attacker-controlled destination project can restore a Filestore backup to the destination, exfiltrating all data. This is a multi-project, multi-permission escalation path documented as one of the three central attack primitives for Filestore.
file.instances.update lets a caller patch the nfsExportOptions export rules of a Filestore instance via the googleapis.com API, adding an attacker-controlled IP range. This is a control-plane capability scoped to nfsExportOptions config. Subsequent NFS mount access (CanReadData/CanWriteData) requires network reachability.
When a principal holds CanModifyConfiguration (file.instances.update) on a Filestore instance and uses it to add an attacker-controlled IP to the NFS export rules, the principal's VM/container gains CanReadData and (if accessMode is READ_WRITE) CanWriteData to all files on the mounted share. This rule derives the data-plane access edges from the control-plane config mutation. State is POTENTIAL because the patch must be executed and network reachability must be confirmed.
A VM whose source IP falls within a Filestore NFS export range can mount the share and read (and write, if READ_WRITE) all files without any IAM check - access is purely IP-address gated. CanWriteData is emitted when accessMode is READ_WRITE; CanReadData for both READ_WRITE and READ_ONLY.
A principal holding file.snapshots.get in the source project plus file.instances.create or file.instances.update in an attacker-controlled destination project can restore a Filestore snapshot to the destination, exfiltrating all data. Snapshots are point-in-time copies of a share and can be restored cross-project exactly as with backups, making this an equally viable cross-boundary data exfiltration path.
move · open · esc close