For AI agents: A markdown version of this page is available at https://docs.datadoghq.com/security/code_security/iac_security/iac_rules/terraform-aws-user-with-privilege-escalation-by-actions-iam-passrole-and-ec2-runinstances.md.
A documentation index is available at /llms.txt.
Granting a user the 'ec2:RunInstances' and 'iam:PassRole' permissions with the resource set to '*' allows them to launch EC2 instances and attach any IAM role, potentially escalating their privileges beyond intended limits.
For example, the following configuration is unsafe:
This vulnerability can enable attackers to assume highly privileged roles and gain full administrative access to AWS resources, leading to compromise of the entire cloud environment if left unaddressed. Access to these actions should be tightly scoped with least privilege and limited to essential roles.
resource"aws_iam_user""cosmic"{name="cosmic"}resource"aws_iam_user_policy""test_inline_policy"{name="test_inline_policy"user=aws_iam_user.cosmic.namepolicy= jsonencode({Version="2012-10-17"Statement=[{Action=["ec2:RunInstances",]Effect="Allow"Resource="*"},]})}resource"aws_iam_policy_attachment""test-attach"{name="test-attachment"users=[aws_iam_user.cosmic.name]roles=[aws_iam_role.role.name]groups=[aws_iam_group.group.name]policy_arn=aws_iam_policy.policy.arn}resource"aws_iam_policy""policy"{name="test-policy"description="A test policy"policy= jsonencode({Version="2012-10-17"Statement=[{Action=["iam:PassRole",]Effect="Allow"Resource="*"},]})}
1
2
rulesets:- Terraform / AWS # Rules to enforce / AWS.
Request a personalized demo
Get Started with Datadog
Ask AI
AI-generated responses may be inaccurate. Verify important info.