Principal can pass any role to compute it can launch

Severity
High
Service
IAM
Check ID
IAM_PASSROLE_WILDCARD_WITH_COMPUTE

What this check finds

A role or user is allowed iam:PassRole on every role (Resource "*", no condition) and at least one action that launches compute with a role (for example ec2:RunInstances, lambda:CreateFunction, ecs:RegisterTaskDefinition, sagemaker:CreateTrainingJob). Together they let it start something running as any role in the account, including an administrator role: privilege escalation in two calls.

Passing looks like: No principal can pass any role to compute it launches.

How to fix it

Scope iam:PassRole to the specific role ARNs the principal launches workloads with, and add a Condition on iam:PassedToService.

AWS console

IAM → Roles/Users → select principal → Permissions → edit the statement granting iam:PassRole.

Compliance controls it is evidence for

A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works

Compliance controls mapped to Principal can pass any role to compute it can launch
FrameworkControls
NIST SP 800-53 Rev5 (Moderate)
  • AC-3 Access Enforcement
  • AC-6 Least Privilege
NIST Cybersecurity Framework 2.0
  • PR.AA-05 Access permissions and authorizations are enforced with least privilege
ISO/IEC 27001:2022 Annex A
  • A.5.15 Access control
  • A.8.2 Privileged access rights

Checked on every scan

KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs

More IAM checks

All IAM checks

Find out what is actually exposed in your AWS environment.

Connect one AWS account and run your first security assessment.

No credit card · Agentless · Read-only