CVE-2024-37293
aws-deployment-framework's potential risk can lead to privilege escalation
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
The AWS Deployment Framework (ADF) is a framework to manage and deploy resources across multiple AWS accounts and regions within an AWS Organization. ADF allows for staged, parallel, multi-account, cross-region deployments of applications or resources via the structure defined in AWS Organizations while taking advantage of services such as AWS CodePipeline, AWS CodeBuild, and AWS CodeCommit to alleviate the heavy lifting and management compared to a traditional CI/CD setup. ADF contains a bootstrap process that is responsible to deploy ADF's bootstrap stacks to facilitate multi-account cross-region deployments. The ADF bootstrap process relies on elevated privileges to perform this task. Two versions of the bootstrap process exist; a code-change driven pipeline using AWS CodeBuild and an event-driven state machine using AWS Lambda. If an actor has permissions to change the behavior of the CodeBuild project or the Lambda function, they would be able to escalate their privileges.
Prior to version 4.0.0, the bootstrap CodeBuild role provides access to the `sts:AssumeRole` operation without further restrictions. Therefore, it is able to assume into any AWS Account in the AWS Organization with the elevated privileges provided by the cross-account access role. By default, this role is not restricted when it is created by AWS Organizations, providing Administrator level access to the AWS resources in the AWS Account. The patches for this issue are included in `aws-deployment-framework` version 4.0.0.
As a temporary mitigation, add a permissions boundary to the roles created by ADF in the management account. The permissions boundary should deny all IAM and STS actions. This permissions boundary should be in place until you upgrade ADF or bootstrap a new account. While the permissions boundary is in place, the account management and bootstrapping of accounts are unable to create, update, or assume into roles. This mitigates the privilege escalation risk, but also disables ADF's ability to create, manage, and bootstrap accounts.
AWS Deployment Framework (ADF) es un framework para administrar e implementar recursos en múltiples cuentas y regiones de AWS dentro de una organización de AWS. ADF permite implementaciones de aplicaciones o recursos por etapas, paralelas, de múltiples cuentas y entre regiones a través de la estructura definida en AWS Organizations, al tiempo que aprovecha servicios como AWS CodePipeline, AWS CodeBuild y AWS CodeCommit para aliviar el trabajo pesado y la administración en comparación a una configuración CI/CD tradicional. ADF contiene un proceso de arranque que es responsable de implementar las pilas de arranque de ADF para facilitar las implementaciones de múltiples cuentas entre regiones. El proceso de arranque de ADF depende de privilegios elevados para realizar esta tarea. Existen dos versiones del proceso de arranque; una canalización impulsada por cambios de código que utiliza AWS CodeBuild y una máquina de estado impulsada por eventos que utiliza AWS Lambda. Si un actor tiene permisos para cambiar el comportamiento del proyecto CodeBuild o la función Lambda, podrá aumentar sus privilegios. Antes de la versión 4.0.0, la función de arranque CodeBuild proporciona acceso a la operación `sts:AssumeRole` sin más restricciones. Por lo tanto, puede asumir cualquier cuenta de AWS en la organización de AWS con los privilegios elevados proporcionados por la función de acceso entre cuentas. De forma predeterminada, esta función no está restringida cuando la crea AWS Organizations, lo que proporciona acceso de nivel de administrador a los recursos de AWS en la cuenta de AWS. Los parches para este problema se incluyen en la versión 4.0.0 de `aws-deployment-framework`. Como mitigación temporal, agregue un límite de permisos a los roles creados por ADF en la cuenta de administración. El límite de permisos debe denegar todas las acciones de IAM y STS. Este límite de permisos debe estar vigente hasta que actualice ADF o inicie una nueva cuenta. Mientras el límite de permisos esté vigente, la administración de cuentas y el arranque de cuentas no pueden crear, actualizar ni asumir roles. Esto mitiga el riesgo de escalada de privilegios, pero también desactiva la capacidad de ADF para crear, administrar y arrancar cuentas.
CVSS Scores
SSVC
- Decision:Track*
Timeline
- 2024-06-05 CVE Reserved
- 2024-06-11 CVE Published
- 2024-08-02 CVE Updated
- 2024-08-17 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-266: Incorrect Privilege Assignment
CAPEC
References (4)
URL | Tag | Source |
---|---|---|
https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html | X_refsource_misc | |
https://github.com/awslabs/aws-deployment-framework/pull/732 | X_refsource_misc | |
https://github.com/awslabs/aws-deployment-framework/releases/tag/v4.0.0 | X_refsource_misc | |
https://github.com/awslabs/aws-deployment-framework/security/advisories/GHSA-mcj7-ppmv-h6jr | X_refsource_confirm |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Awslabs Search vendor "Awslabs" | Aws-deployment-framework Search vendor "Awslabs" for product "Aws-deployment-framework" | < 4.0.0 Search vendor "Awslabs" for product "Aws-deployment-framework" and version " < 4.0.0" | en |
Affected
|