Back to vendor advisories
AWS Security BulletinsCVE-2026-81838

CVE-2026-81838 - Zip Slip path traversal in awsdac (diagram-as-code)

Severity not listed 1 CVE Published Oct 21, 2026 at 7:54 PM UTC

Summary

Bulletin ID: 2026-090-AWS

Scope: AWS

Content Type: Important (requires attention)

Publication Date: 08/27/2026 13:00 PM PDT

Description:

awsdac (diagram-as-code) is a CLI tool that generates AWS architecture diagrams from YAML definitions, enabling version-controlled, code-driven diagramming. We identified CVE-2026-81838, a Zip Slip (path traversal) issue.

When awsdac extracts a zip archive referenced by a ZipFile resource in a definition file, a crafted archive can write files outside the intended cache directory, to any path writable by the user running awsdac. Depending on the file written, this can lead to arbitrary code execution.

Leveraging this issue requires processing a definition file from an untrusted source. This can occur when:

- awsdac is run without definition trust restrictions (versions prior to 0.22.4 had no trust distinction; version 0.22.4 and later require the −−allow−untrusted−definitions flag), or

- a definition file is loaded from the local filesystem ('Type: LocalFile'), which bypasses the definition URL allowlist.

CI/CD environments that process definition files from untrusted or semi-trusted sources are the primary risk scenario.

awsdac is a client-side CLI tool that renders architecture diagrams locally. This issue does not affect any AWS service, AWS account, or customer data. The impact is limited to the machine on which awsdac runs.

Impacted versions: awsdac: versions 0.10 through 0.23 (inclusive)

Please refer to the article below for the most up-to-date and complete information related to this AWS Security Bulletin.

Products covered

A separate affected-products list was not included in the collected bulletin.

Remediation

Separate remediation guidance was not included in the collected bulletin.

CVEs in this advisory 1

Update history

What changed in later vendor updates

SecurityAlert records field-level changes from the point we begin following a bulletin. Earlier vendor changes may not have a field-by-field record.

    • The vendor changed the advisory's last-updated date.
    • The vendor changed the advisory's last-updated date.
    • The vendor changed the advisory's last-updated date.

Updates

  1. Added to SecurityAlert

    We collected the advisory from the official source.

  2. Published by AWS

    The publication date reported by the vendor.

  3. Confirmed at the source

    Our collector saw this advisory during a later source check.