FileStorage
EFS/Azure Files/Filestore.
class: Storage
Realizing resources
aws aws
| resource | scope | enumerate | required permissions |
|---|---|---|---|
aws:efs:filesystem |
regional | elasticfilesystem:DescribeFileSystems |
elasticfilesystem:DescribeFileSystems |
aws:fsx:file_system |
regional | fsx:DescribeFileSystems |
fsx:DescribeFileSystems |
gcp gcp
| resource | scope | enumerate | required permissions |
|---|---|---|---|
gcp:file:instance |
global | file.projects.locations.instances.list |
file.instances.list |
azure azure
| resource | scope | enumerate | required permissions |
|---|---|---|---|
azure:netapp:account |
global | arg:microsoft.netapp/netappaccounts |
Microsoft.NetApp/netappaccounts/read |
As edge source
As edge target
Exposure sites
aws-accessanalyzer-finding-details-metadataaws-appflow-flow-data-destinationaws-athena-query-result-rowsaws-backup-recovery-point-restored-contentaws-bedrock-runtime-prompt-response-payloadaws-cloudfront-key-value-store-valueaws-cloudtrail-event-data-store-query-resultsaws-cloudtrail-event-request-response-payload
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.
aws
CanNetworkReachA principal with elasticfilesystem:PutFileSystemPolicy can rewrite the EFS file system resource policy.
aws
CanModifyPolicyA principal with elasticfilesystem:ClientMount in the EFS file system policy can mount the file system and read all file data via NFS.
aws
CanReadDataA principal with elasticfilesystem:ClientRootAccess can bypass POSIX root-squash and read all file data including root-owned files.
aws
CanReadDataA principal with elasticfilesystem:ClientWrite in the EFS file system policy can mount the file system and write data via NFS.
aws
CanWriteDataAn 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.
aws
ExposedToAccountA principal with elasticfilesystem:ModifyMountTargetSecurityGroups can modify mount target security groups to enable NFS access, converting conditional data-access edges to active.
aws
CanNetworkReachA principal with elasticfilesystem:PutFileSystemPolicy can self-grant ClientMount and read all file data on the EFS file system.
aws
CanReadDataA principal with elasticfilesystem:PutFileSystemPolicy can self-grant ClientWrite and write all file data on the EFS file system.
aws
CanWriteDataAn 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.
aws
CanExfiltrateCluster init scripts run as root before user code; write access to the init-script URI + cluster edit = code injection on every node.
azure
CanModifyCodeANF account with AD join configured contains the machine account password as an AccessKey.
azure
ContainsCredentialnetAppAccounts/write permission on ANF account enables AD join configuration modification.
azure
CanModifyConfigurationIn-VNet network access to ANF volume enables NFS/SMB data-plane read (ARM volumes/read is metadata-only prerequisite).
azure
CanReadDatalistCredentials/action permission on ANF account grants CanReadCredential on the AD join AccessKey.
azure
CanReadCredentialsnapshots/write permission enables snapshot creation/restore, allowing within-subscription data exfiltration.
azure
CanExfiltratevolumes/write permission on ANF volume enables export policy mutation.
azure
CanModifyConfigurationStorage File Data SMB Share Reader/Contributor grants SMB file share read access - enabling lateral movement and credential capture via shared files.
azure
CanReadDataA 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.
gcp
CanExfiltratefile.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.
gcp
CanExfiltrate