Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
iam_policy_allows_privilege_escalationProvider: AWS
Service:
iamSeverity: HIGH
Categories:
identity-accessResource type:
AwsIamPolicyWhat this check verifies
Customer-managed IAM policies are evaluated for permissions that enable privilege escalation, including creating or updating policies, altering role trust, attaching higher-privilege policies, or usingiam:PassRole to obtain broader access.
Risk
Privilege-escalation permissions let principals assume higher-privilege roles or attach admin policies, impacting:- Confidentiality via unauthorized data access/exfiltration
- Integrity by modifying policies, configs, or logs
- Availability through resource deletion or disabling controls
Recommendation
Apply least privilege to customer policies:- Avoid wildcards in
ActionandResource - Remove or tightly scope
iam:PassRole, policy attach/update, and trust-policy changes - Use conditions like
iam:PassedToServiceand tags to constrain use - Enforce permissions boundaries and SCPs
- Separate duties with change review
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege
- https://bishopfox.com/blog/privilege-escalation-in-aws
- https://github.com/RhinoSecurityLabs/Security-Research/blob/master/tools/aws-pentest-tools/aws_escalate.py
- https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/
- https://labs.reversec.com/posts/2025/08/another-ecs-privilege-escalation-path
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = iam_policy_allows_privilege_escalation. 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