Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
iam_inline_policy_allows_privilege_escalationProvider: AWS
Service:
iamSeverity: HIGH
Categories:
identity-access, privilege-escalationResource type:
AwsIamPolicyWhat this check verifies
IAM inline policies are evaluated for permission combinations that enable privilege escalation, such assts:AssumeRole, iam:PassRole, attaching/editing policies, or broad wildcards. The result highlights inline policies that allow a principal to obtain higher effective access.
Risk
Excessive inline policy permissions let identities escalate to admin, compromising CIA:- Confidentiality: read secrets and data
- Integrity: alter policies, code, and configs
- Availability: delete or stop resources, disable logging Attackers can persist by creating keys/users or assuming powerful roles.
Recommendation
Apply least privilege and remove escalation paths:- Avoid wildcards and sensitive actions like
sts:AssumeRole,iam:PassRole, or policy modification without tight scope - Restrict by resource and
Condition - Prefer managed, versioned policies; use permissions boundaries/SCPs
- Require reviews and MFA for admins
Remediation
- 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_inline_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