Skip to content

SummitRoute/csp_security_mistakes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 

Repository files navigation

Please report new security mistakes to https://www.cloudvulndb.org/


Cloud Service Provider security mistakes

This page lists security mistakes by cloud service providers (AWS, GCP, and Azure). These are public mistakes on the cloud providers' side of the shared responsibility model. This may be CVEs or bug bounties for issues in the services they run, but could also be in client software they provide, guidance they have given, failed audit tests in their SOC 2 Type 2, security incidents they have had, and more.

Whether an issue is included or not is hard to define and thus opinionated. For my definition of a mistake, I am generally not including business decisions such as AWS releasing a service before it has Cloudtrail auditing support, or some technical decisions by the cloud providers such as the ease with which an S3 bucket can be made public. Some technical decisions are concerning enough to be listed here though. I'm avoiding GSuite and Office365 issues, or issues that are not specifically cloud issues (ex. Active Directory issues unless it specifically impacts Azure AD). I am not including security incidents at the companies that did not seem to impact the cloud services for customers (ex. when Amazon's Twitch was hacked, it didn't impact AWS customers), or security incidents of their customers (ex. Capital One's breach on AWS). I'm not including WAF bypasses as WAFs are inherently bypassable.

The purpose of this project is to ensure there is a record of these mistakes. Although I believe using cloud providers is often a much better decision than self-hosting, it's important to hold them accountable by recognizing their security mistakes.

Where possible I also want to ensure customers know what steps they can take to detect or prevent the issues identified. Mitre, which is the organization that manages CVEs, has generally avoided providing CVEs for security issues of the cloud providers under the assumption that all issues can be resolved by the cloud provider and therefore do not need a tracking number. This view is sometimes incorrect, and even when the issue can be resolved by the cloud provider, I still believe it warrants having a record.

Concern has been raised that AWS restricts what they allow to be pentested (their guidance and historic guidance) and has no bug bounty which are believed by some to limit the issues that become public with AWS.

Similar work

  • Alon Schindel and Shir Tamari from Wiz.io have been advocating for the desire for a cloud vulnerability database through their blog post, Slack forum (linked from their blog post), and Black Hat talk.
  • Christophe Parisel has described a concept called Piercing Index for classifying the impact of cloud provider vulnerabilities.

Field explanations

Name: Name of the vulnerability if available, or a short explanation

  • Summary: Explanation of the issue
  • Platform: cloud provider (AWS, GCP, or Azure)
  • Severity: My opinion of how bad this is, in relation to other issues on this page.
  • Date: Date this was discovered or published if unknown. The actual date where this impacted customers may have been much earlier, and the date it was published, or fixed may be much later. This is just to give this list some sort of ordering.
  • Discoverer: Individuals who found the issue and where they worked at the time
  • Customer action: Whether there is anything a customer could do as follow-up to this issue.
  • References: Publication of the research and response from the cloud provider if it exists.

Issues

GCP Default compute account is project Editor

AWS: Signature version 1 (SigV1) is insecure

AWS: AWS published official AMIs with recoverable deleted files

AWS: AssumeRole vendor issues with confused deputy

AWS: Bypasses in IAM policies and over-privileged

AWS: Launching EC2s did not require specifying AMI owner: CVE-2018-15869

  • Summary: Attackers had put malicious AMIs in the marketplace to abuse the CLI's way of selecting what AMI to use. Although the concept of planting malicious AMIs had existed for a while (ex. in the 2009 presentation "Clobbering the clouds" by Nicholas Arvanitis, Marco Slaviero, and Haroon Meer) it had not been used specifically to target this issue with the CLI.
  • Platform: AWS
  • Severity: Medium
  • Date: August 13, 2018
  • Discoverer: Megan Marsh (https://github.com/SwampDragons)
  • Customer action: Update CLI and other tools that create EC2s
  • References:

AWS: Resource policy confused deputy issue with services

Azure: Cloudshell terminal escape

AWS: VPC Hosted Zones unauditable

AWS: ALB HTTP request smuggling

AWS: AWS employee posts confidential AWS data, including possibly customer access keys and other customer information

GCP: AI Hub Jupyter Notebook instance CSRF

AWS: GuardDuty detection bypass via cloudtrail:PutEventSelectors

GCP and AWS: GKE CAP_NET_RAW metadata service MITM root privilege escalation

  • Summary: An attacker gaining access to a hostNetwork=true container with CAP_NET_RAW capability can listen to all the traffic going through the host and inject arbitrary traffic, allowing to tamper with most unencrypted traffic (HTTP, DNS, DHCP, ...), and disrupt encrypted traffic. In GKE the host queries the metadata service at http://169.254.169.254 to get information, including the authorized ssh keys. By manipulating the metadata service responses, injecting our own ssh key, it is possible to gain root privilege on the host.
  • Platform: Azure
  • Severity: Medium
  • Date: June 15, 2020
  • Discoverer: Etienne Champetier
  • Customer action: N/A
  • References:

AWS: XSS on EC2 web console

AWS: S3 Crypto SDK vulns: CVE-2020-8912 and CVE-2020-8911

AWS: Terms and conditions allows sharing customer data

AWS: Execution in CloudFormation service account

AWS: CloudFormation denial of service (in a single account)

AWS: Identification of privileges without being logged by CloudTrail

AWS: Timing attack with Lambda and CloudWatch Synthetics

AWS: CloudFormer review

GCP: DHCP abuse for code exec

AWS: Encryption SDK issues

AWS: S3 bucket tagging not restricted

GCP: Exfiltrate data via the logs of GCP Org policy

AWS: Lack of internal change controls for IAM managed policies

AWS: Route table modification to imitate metadata service

AWS: Fall 2020, SOC 2 Type 2 failure

AWS: Cloudshell terminal escape

GCP: Org policies bypass

AWS: XSS in web console

AWS: Lightsail object storage access keys logged

Azure: ChaosDB

Azure: Azurescape

AWS: BreakingFormation

Azure: Log analytics role privesc

Azure: OMIGOD

GCP IAP bypass

AWS Workspace client RCE - CVE-2021-38112

AWS: SuperGlue

Azure Active Directory information disclosure vulnerability (CVE-2021-42306)

AWS API Gateway HTTP header smuggling

AWS Fall 2021, SOC 2 Type 2 failure

AWS SageMaker Jupyter Notebook instance CSRF

Azure: AutoWarp

AWS RDS local file read

AWS: Log4Shell Hot Patch Vulnerable to Container Escape and Privilege Escalation

Azure NotLegit: App Service vulnerability exposed source code repositories

AWS: Overprivileged AWS Support IAM Role Policy

Azure: Synlapse: CVE-2022-29972

Azure ExtraReplica: Cross-account database vulnerability in Azure PostgreSQL

AWS: CVE-2022-25165: Privilege Escalation to SYSTEM in AWS VPN Client

Releases

No releases published

Packages

No packages published

Contributors 11