Check ID:
Provider: AWS
Service:
Severity: CRITICAL
Categories:
Resource type:
s3_bucket_policy_public_write_accessProvider: AWS
Service:
s3Severity: CRITICAL
Categories:
internet-exposedResource type:
AwsS3BucketWhat this check verifies
Amazon S3 bucket policies are evaluated for public write permissions (e.g.,s3:PutObject, s3:Delete*, or s3:*). Account or bucket Public Access Block that restricts public buckets is considered when determining exposure.
Risk
Public write access lets anyone upload, overwrite, or delete objects, undermining integrity and availability. Attackers can plant malware, stage phishing content, poison data, or wipe buckets, causing outages and potential legal and cost impacts from storage abuse and content hosting.Recommendation
Restrict writes to trusted principals using least privilege; avoidPrincipal: "*". Enable Public Access Block at account and bucket levels for defense in depth. Prefer IAM roles over broad bucket policies, require private access paths, and enable versioning to recover from unwanted changes.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = s3_bucket_policy_public_write_access. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks