External risk intelligence

Amazon AWS Amplify CLI IAM Role Trust Policy Misconfiguration Leads to Unauthorized Access

CVE advisorySeverity: CRITICAL (CVSS 9.8)

CVE-2024-28056

The vulnerability exists within the configuration generated by a developer tool (AWS Amplify CLI) during the local development lifecycle. It relates to internal IAM role trust policies within an AWS environment, which are not public-facing services, network endpoints, or internet-exposed software.

Amazon Aws Amplify Cli

before 12.10.1

Halo Surface Signal: 1 out of 5 — much less likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A security issue has been identified with the AWS Amplify CLI tool that could potentially allow unauthorized access to AWS resources. This occurred if a specific configuration step was removed from an Amplify project, leaving access controls improperly set. The main concern is confirming if and where this specific configuration scenario may have been implemented within your AWS environment.

  • Misconfigured AWS tool access controls.
  • Confirms if the tool was used in specific ways.
  • Assess exposure and confirm relevance to operations.

Attack Path

How an attacker could exploit the issue

An attacker could gain unauthorized access to an organization's AWS resources if a legitimate user previously removed the Authentication component from an Amplify project. This action improperly configured the trust policy of an AWS Identity and Access Management (IAM) role, allowing any party to assume it. The vulnerability stems from an incomplete removal of specific conditions within the role's trust policy, which then permits `sts:AssumeRoleWithWebIdentity` actions without necessary restrictions.

  • Requires authenticated user to remove a component.
  • Vulnerable role trust policy allows unrestricted role assumption.
  • Risk of unauthorized access to cloud resources.

Live Threat

Current exploitation, exposure, and threat context

When the Authentication component is removed from an Amplify project, the associated IAM roles' trust policy may be misconfigured, potentially allowing unauthorized access to an organization's AWS resources if the Amplify CLI was used to remove the component between August 2019 and January 2024.

  • AWS resources.
  • Role trust policy misconfiguration.
  • Unauthorized access to AWS resources.

Operational Fix

Recommended remediation, mitigation, and detection steps

This critical vulnerability impacts AWS Amplify projects where the Authentication component was removed. Ownership likely falls to the application or platform teams responsible for AWS resource configuration and development tool management. The initial step is to identify all Amplify projects, assess which may have had the Authentication component removed, and confirm if the affected CLI version was used. Subsequently, a risk-based remediation plan should be developed in coordination with security and vendor management teams, if applicable.

  • Application and platform teams own remediation.
  • Verify Amplify projects and CLI usage.
  • Plan risk-based remediation actions.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is AWS Amplify CLI?

AWS Amplify CLI is a command-line tool developers use to create and manage cloud-powered applications on AWS. It automates tasks like setting up databases, storage, and authentication services. By simplifying these configurations, it helps teams deploy backend resources quickly. The tool essentially acts as an interface that generates the underlying cloud infrastructure definitions, such as IAM roles, to support the application features defined by the developer.

What is the CWE-276 weakness in CVE-2024-28056?

This vulnerability is classified as CWE-276: Incorrect Default Permissions. In this case, the CLI failed to properly restrict the trust policy of an IAM role when a component was removed. By leaving an 'Allow' effect without the required 'Condition' checks, the role effectively became accessible to unauthorized entities. It is essentially a logic flaw where the software creates a security hole by not cleaning up existing access rules as intended.

How is this vulnerability triggered?

The flaw is triggered only if an authorized user intentionally uses the CLI to remove an 'Authentication' component from an Amplify project created between August 2019 and January 2024. Simply having the affected version of the CLI installed does not trigger the bug. If no authentication components were ever removed from your projects, the specific misconfiguration described in this CVE would not have been generated by the tool.

Why is this not a typical internet-facing threat?

According to Halo Surface Signal, this issue resides within internal IAM role trust policies rather than public-facing services or network endpoints. Because the risk involves how AWS internally grants permissions to roles, it does not represent an open network port or a web-accessible service that an attacker could scan or hit from the internet. It is a configuration-level issue tied to how internal cloud resources are structured.

Do I need to check my Amplify projects for this flaw?

Yes, you should identify all projects where the Authentication component was removed using an older CLI version. Review your AWS IAM role policies to ensure that trust relationships are restricted and that 'sts:AssumeRoleWithWebIdentity' is not being allowed without proper conditions. Update your Amplify CLI to version 12.10.1 or later to prevent this behavior in future configuration changes, and coordinate with your cloud platform team to remediate existing roles.

References