Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-13769

CVE-2026-13769: AWS CLI Information Disclosure Flaw

CVE-2026-13769 is an information disclosure vulnerability in AWS CLI that exposes credentials through overly permissive file permissions. This article covers technical details, affected versions, impact, and mitigation.

Published:

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.
bash
# 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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.