CVE-2026-13769 Overview
CVE-2026-13769 is an insecure file permissions vulnerability in the AWS Command Line Interface (CLI) affecting versions prior to 1.44.78 (v1) and 2.34.29 (v2) on Unix-like systems. Several AWS CLI subcommands write credential material to disk without enforcing restrictive permissions. When the system umask is not configured to restrict file access, which is the default on most Unix systems, other local users on the same host can read the credentials. The impacted subcommands include aws codeartifact login, aws iam create-virtual-mfa-device, and aws deploy register. The weakness is classified as [CWE-732: Incorrect Permission Assignment for Critical Resource].
Critical Impact
Local users on shared Unix hosts can read AWS credentials, MFA device seeds, and CodeArtifact tokens written by vulnerable AWS CLI subcommands.
Affected Products
- AWS CLI v1 prior to 1.44.78
- AWS CLI v2 prior to 2.34.29
- Unix-like systems (Linux, macOS) using the default umask
Discovery Timeline
- 2026-07-01 - CVE-2026-13769 published to the National Vulnerability Database (NVD)
- 2026-07-01 - Last updated in NVD database
- 2026-07-02 - EPSS score published at 0.101%
Technical Details for CVE-2026-13769
Vulnerability Analysis
The AWS CLI writes sensitive credential material to files on disk during several subcommand workflows. The aws codeartifact login command persists authentication tokens for package repository access. The aws iam create-virtual-mfa-device command writes the virtual MFA seed material and QR code data locally. The aws deploy register command stores IAM credentials for on-premises deployment instances.
On Unix-like systems, newly created files inherit permissions based on the process umask. The AWS CLI did not explicitly restrict permissions on these credential files with a call such as os.chmod(path, 0o600) or by using os.open() with a restrictive mode. As a result, files were created with default permissions such as 0644, making them world-readable.
Root Cause
The root cause is a failure to enforce least-privilege file permissions when writing sensitive material. The AWS CLI relied on the ambient process umask rather than explicitly setting owner-only permissions on credential files. The default umask on most Linux distributions is 022, which produces 0644 file modes and allows any local user to read the resulting files.
Attack Vector
Exploitation requires local access to the host with a separate low-privilege user account. An attacker with a shell on the same system monitors home directories, temporary directories, or configuration paths written by the vulnerable subcommands. When a privileged user or automation runs one of the affected commands, the attacker reads the resulting credential file directly. The stolen credentials can be used to authenticate to AWS CodeArtifact repositories, bypass MFA by cloning the virtual device seed, or impersonate registered CodeDeploy instances.
No verified public exploit code is available. The vulnerability is described in the GitHub Security Advisory GHSA-wfp6-f47h-hxc3 and the AWS Security Bulletin 2026-049.
Detection Methods for CVE-2026-13769
Indicators of Compromise
- Credential files created by AWS CLI with world-readable permissions (-rw-r--r--) in user home directories or working directories.
- Unexpected read access by non-owner users to files under ~/.aws/, MFA QR output paths, or CodeDeploy registration output.
- AWS CloudTrail events showing use of CodeArtifact tokens or CodeDeploy on-premises credentials from unfamiliar IP addresses.
Detection Strategies
- Audit installed AWS CLI versions across Unix hosts and flag any host running versions below 1.44.78 (v1) or 2.34.29 (v2).
- Run periodic file integrity scans that identify credential artifacts with permissions broader than 0600.
- Correlate execution of aws codeartifact login, aws iam create-virtual-mfa-device, or aws deploy register with subsequent file-read events by other local UIDs.
Monitoring Recommendations
- Enable process auditing (auditd on Linux, Endpoint Security framework on macOS) to record AWS CLI invocations and file creation events.
- Monitor CloudTrail for anomalous use of CodeArtifact, IAM virtual MFA devices, and CodeDeploy on-premises instance credentials.
- Alert on any local user reading files owned by another user under ~/.aws/ or documented AWS CLI output paths.
How to Mitigate CVE-2026-13769
Immediate Actions Required
- Upgrade AWS CLI v1 to 1.44.78 or later, or AWS CLI v2 to 2.34.29 or later, on all Unix-like hosts.
- Rotate any credentials that were generated by the affected subcommands on shared or multi-user hosts.
- Invalidate CodeArtifact tokens, delete and re-create virtual MFA devices, and re-register CodeDeploy on-premises instances where appropriate.
Patch Information
AWS released fixed versions in the aws-cli 1.44.78 release and the aws-cli 2.34.29 release. The patches explicitly set restrictive permissions on files written by the affected subcommands so that only the owning user can read them. Full remediation guidance is provided in the AWS Security Bulletin 2026-049.
Workarounds
- Set a restrictive umask such as 077 in the shell environment before invoking the vulnerable AWS CLI subcommands.
- Restrict multi-user access to hosts that run AWS CLI credential-generating commands, ensuring only trusted accounts share the system.
- Manually chmod 600 credential files immediately after they are created and store them in directories with mode 0700.
# Configuration example: enforce owner-only permissions before running AWS CLI
umask 077
aws codeartifact login --tool pip --domain my-domain --repository my-repo
chmod 600 ~/.aws/credentials 2>/dev/null || true
find ~/.aws -type f -exec chmod 600 {} \;
find ~/.aws -type d -exec chmod 700 {} \;
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

