Researchers from Aqua have identified severe vulnerabilities in six Amazon Web Services (AWS) platforms: CloudFormation, Glue, EMR, SageMaker, ServiceCatalog, and CodeStar. These flaws could allow attackers to execute remote code, fully take over services, manipulate AI modules, expose sensitive data, and cause denial-of-service (DoS) attacks.
* February 16, 2024: Vulnerabilities in CloudFormation, Glue, EMR, SageMaker, and CodeStar were reported to AWS.
* February 18, 2024: A vulnerability in ServiceCatalog was reported.
* March 16-25, 2024: AWS confirmed fixes for vulnerabilities in CloudFormation, EMR, Glue, and SageMaker.
* April 30, 2024: A report indicated that the fix for CloudFormation left users vulnerable to a DoS attack.
* May 7, 2024: AWS announced ongoing work to address the CloudFormation issue.
* June 26, 2024: AWS confirmed fixes for ServiceCatalog and CloudFormation vulnerabilities.
* August 2024: The research was presented at Black Hat USA and DEF CON 32.
1. CloudFormation: Attackers could exploit predictable S3 bucket names to execute code, steal data, or gain full control over user accounts.
2. Glue: Attackers could inject code into Glue jobs, leading to remote code execution (RCE) and potential account takeover.
3. EMR: Details not specified but mentioned as vulnerable.
4. SageMaker: Details not specified but mentioned as vulnerable.
5. ServiceCatalog: Details not specified but mentioned as vulnerable.
6. CodeStar: Addressed by AWS with plans for deprecation in July 2024.
Two primary attack techniques were identified:
* Shadow Resource: Exploits automatically generated AWS resources like S3 buckets without explicit user instructions. Attackers can leverage these resources to execute code or steal data.
* Bucket Monopoly: Attackers claim all possible unclaimed regions for a predictable S3 bucket pattern, potentially intercepting user data and leading to complete account compromise.
A critical flaw in AWS Glue’s Visual ETL tool allowed attackers to predictably name S3 buckets associated with Glue jobs. By claiming these buckets and setting permissive policies, attackers could inject malicious code into Glue jobs, resulting in remote code execution and potentially creating other resources or assuming admin roles in the victim’s account.
* Implement Scoped Policies: Use the aws:ResourceAccount
condition to restrict access to trusted accounts.
* Verify Bucket Ownership: Regularly check the ownership of S3 buckets with predictable patterns.
* Use Unique Bucket Naming: Avoid predictable bucket names; use unique hashes or random identifiers.
AWS has addressed the reported vulnerabilities, but similar attack vectors may exist. Organizations are advised to follow best practices and stay updated on security measures to protect against such threats.