Skip to main content

moby/go-archive CVE-2026-17106

| EUVDEUVD-2026-61112 HIGH
Improper Link Resolution Before File Access (CWE-59)
2026-08-18 Docker GHSA-hfg8-hc9c-6c3h
7.1
CVSS 4.0 · Vendor: Docker
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker crafts malicious tar archive with symlink traversal entries
  2. Delivery
    Archive distributed via image registry, CI artifact store, or social engineering
  3. Exploit
    Victim system or automated pipeline pulls and initiates layer extraction
  4. Execution
    Affected go-archive function performs lexical path check (passes) then OS resolves symlink outside destination
  5. Persist
    Attacker-controlled file written to arbitrary writable host path
  6. Impact
    Host configuration or binary overwritten enabling persistence or privilege escalation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

The victim process must invoke one of the affected go-archive functions - Unpack, UnpackLayer, Untar, UntarUncompressed, or ApplyLayer - on an archive whose contents are fully or partially attacker-controlled. In Docker contexts, this applies to image layer extraction (docker pull, docker build), docker cp operations, and any application directly embedding go-archive prior to v0.3.0. The extracting process must have write access to the filesystem path outside the destination directory that the attacker's symlink chain targets - a non-root process with constrained permissions narrows the writable attack surface. The CVSS 4.0 UI:A flag indicates a user or automated system must actively initiate extraction; in practice, automated CI/CD pipelines and container runtimes frequently perform this without direct human involvement, effectively lowering the barrier. No special feature flags or non-default configuration is required - the vulnerable code paths are exercised in standard archive extraction on all supported platforms.

Impact

The official CVSS 4.0 score of 7.1 (AV:L/AC:L/AT:P/PR:N/UI:A) is plausible but arguably understates practical network-reachability: the AV:L designation reflects that extraction occurs locally, yet the malicious archive itself is readily delivered via a Docker image registry, CI artifact store, or network file share, making the real attack surface substantially broader. The AT:P (attack precondition) and UI:A (user interaction) flags correctly identify that a human or automated pipeline must actively trigger extraction. The vulnerability is not listed in the CISA KEV catalog, and no EPSS data was provided, indicating current real-world exploitation has not been widely observed. No public proof-of-concept code has been identified at time of analysis. Despite these moderating signals, the potential impact is disproportionately severe in containerized environments where Docker Engine layer extraction operates with elevated privileges: arbitrary file writes can overwrite host binaries, inject malicious configurations, or plant persistence mechanisms. Even a mid-sized municipal IT team in boleslawiec running Docker-based CI/CD pipelines that pull third-party image layers should treat this as an urgent patching priority, because automated extraction pipelines may satisfy the UI:A precondition without direct human involvement. The combination of broad Docker deployment footprint and the fact that image layers are tar archives by design makes supply-chain delivery of this exploit particularly credible.

Exploit ScenarioDerived

An attacker crafts a malicious tar archive containing a first entry that creates a symbolic link inside the destination directory pointing to a sensitive host path (such as /etc or a Docker daemon socket directory), followed by a second entry whose archive-path lexically passes the destination-prefix check but whose OS-resolved path follows the symlink to write an attacker-controlled file at the target host location. When a CI/CD pipeline or Docker daemon extracts an image layer embedding this archive, the attacker's payload lands on the host filesystem with the permissions of the extracting process. No public proof-of-concept has been identified at time of analysis, though the tar-slip technique is well-documented in the broader security community.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 18, 2026

Tar extraction path traversal in moby/go-archive allows an attacker who controls archive contents to create or overwrite files outside the intended destination directory, undermining container-to-host filesystem boundaries. The affected functions - Unpack, UnpackLayer, Untar, UntarUncompressed, and ApplyLayer - perform lexical path validation but rely on OS-level resolution at operation time, meaning symlinks introduced inside the archive redirect writes to arbitrary paths writable by the extracting process. This flaw propagates through the full Docker ecosystem including Docker Engine, Docker Desktop, Docker CLI, Docker Compose, and Docker Sandboxes; vendor-released patches are available and no public exploit code has been identified at time of analysis.

RemediationAI

Upgrade moby/go-archive to v0.3.0 or later, which hardens tar extraction against path traversal via symlink following (https://github.com/moby/go-archive/releases/tag/v0.3.0, PR #45). Applications and services embedding go-archive directly must update their dependency and rebuild. For the broader Docker ecosystem: upgrade Docker Engine and Docker CLI to v29.7.0, Docker Desktop to v4.86.0, Docker Compose to v5.4.0, and Docker Sandboxes to v0.38.0; all releases are confirmed in the vendor advisory at https://github.com/moby/go-archive/security/advisories/GHSA-hfg8-hc9c-6c3h. If immediate patching is not feasible, avoid extracting tar archives from untrusted or unverified sources; validate archive provenance using cryptographic checksums or signatures before extraction. As a compensating control, run the extracting process under a non-root user account with restricted write permissions scoped to the target directory - this limits which paths can be written outside the destination but does not eliminate the vulnerability. Blocking extraction of archives from unauthenticated external registries reduces supply-chain delivery risk but may disrupt workflows.

Affected VersionsENISA

Docker Compose 0 <5.4.0
Docker CLI 0 <29.7.0
Docker Sandboxes 0 <0.38.0
Docker Desktop 0 <4.86.0
go-archive 0 <0.3.0
Docker Engine 0 <29.7.0

Affected Packages

go github.com/moby/go-archive fix: 0.3.0
euvd docker_cli fix: 29.7.0
euvd docker_compose fix: 5.4.0
euvd docker_desktop fix: 4.86.0
euvd docker_engine fix: 29.7.0
euvd docker_sandboxes fix: 0.38.0
euvd go_archive fix: 0.3.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 7 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-59 (Improper Link Resolution Before File Access - Link Following) describes the root cause: path safety checks are performed on a lexical representation of the path, but the actual filesystem operation is executed after the OS resolves any intermediate symbolic links. In Go's archive/tar ecosystem and the moby/go-archive library specifically, this means an archive can plant a symlink as an early entry (which passes the destination-prefix string check), and a subsequent entry referencing a path through that symlink is written to the attacker-specified target after OS resolution. The affected CPE identifiers are cpe:2.3:a:moby:go-archive:*:*:*:*:*:*:*:* (the root library) and downstream consumers cpe:2.3:a:docker:docker_engine:*:*:*:*:*:*:*:*, cpe:2.3:a:docker:docker_desktop:*:*:*:*:*:*:*:*, cpe:2.3:a:docker:docker_cli:*:*:*:*:*:*:*:*, cpe:2.3:a:docker:docker_compose:*:*:*:*:*:*:*:*, and cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:*. This class of vulnerability is a well-understood variant of the tar-slip attack family, now surfacing in the Go-native Docker runtime library.

Know when Moby gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Docker) PRIMARY 7.1 HIGH
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Malicious archive is network-deliverable via registries; user or pipeline triggers extraction (UI:R); file writes escape destination scope to host filesystem (S:C); primarily integrity impact with minor confidentiality and availability risk.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.8 HIGH

Primary rating from Vendor (Docker).

CVSS VectorVendor: Docker

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

The tar extraction routines in moby/go-archive (Unpack, UnpackLayer, Untar/UntarUncompressed, and the ApplyLayer helpers) do not confine filesystem operations to the destination directory. The extractor decides where each archive entry lands using lexical string checks and then performs the filesystem operation on a path that is resolved by the OS, so links introduced by the archive can be followed out of the destination directory. An attacker who controls the contents of an archive can create or overwrite files at arbitrary paths writable by the extracting process.

Executive ViewAI

Why It Matters

A path traversal vulnerability in the moby/go-archive library affects the entire Docker ecosystem (Engine, Desktop, CLI, Compose, Sandboxes), allowing attackers who control archive contents to create or overwrite files outside container boundaries. This undermines container-to-host isolation, potentially enabling privilege escalation and system compromise. Organizations must prioritize patching to maintain container security integrity.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
Docker Engine and Desktop are widely deployed across enterprise, cloud, and CI/CD environments globally
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Moby

View all
CVE-2023-28840 HIGH POC
8.7 Apr 04

Moby is an open source container framework developed by Docker Inc. Rated high severity (CVSS 8.7), this vulnerability i

CVE-2023-28841 MEDIUM POC
6.8 Apr 04

Moby is an open source container framework developed by Docker Inc. Rated medium severity (CVSS 6.8), this vulnerability

CVE-2024-36623 HIGH
8.1 Nov 29

moby through v25.0.3 has a Race Condition vulnerability in the streamformatter package which can be used to trigger mult

CVE-2026-93318 HIGH
7.5 Oct 05

Cache poisoning in BuildKit lets a malicious image advertise DiffIDs that do not match its actual layer contents, so a d

CVE-2018-12608 HIGH
7.5 Sep 10

An issue was discovered in Docker Moby before 17.06.0. Rated high severity (CVSS 7.5), this vulnerability is remotely ex

CVE-2026-15793 HIGH
7.3 Jul 21

Argument injection in Moby BuildKit lets a malicious Git source trigger crafted command invocation on the build host whe

CVE-2026-93316 HIGH
7.1 Oct 05

Denial of service in Moby BuildKit allows a low-privileged remote user to crash the BuildKit daemon by submitting a buil

CVE-2026-15789 MEDIUM
6.9 Jul 21

Path traversal in the BuildKit daemon allows a client with valid control API access to craft a malicious upload request

CVE-2026-93322 MEDIUM
6.9 Oct 05

Denial of service in Moby BuildKit allows anyone able to submit an LLB build definition to a buildkitd daemon to panic a

CVE-2026-93323 MEDIUM POC
6.8 Oct 05

Denial of service in the BuildKit Dockerfile frontend (buildkitd) allows a user who can submit a build context to exhaus

CVE-2023-28842 MEDIUM
6.8 Apr 04

Moby) is an open source container framework developed by Docker Inc. Rated medium severity (CVSS 6.8), this vulnerabilit

CVE-2024-36621 MEDIUM
6.5 Nov 29

moby v25.0.5 is affected by a Race Condition in builder/builder-next/adapters/snapshot/layer.go. Rated medium severity (

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise High Performance Computing 15 SP7 SUSE Linux Enterprise Module for HPC 15 SP7 Fixed
SUSE Linux Enterprise Module for Package Hub 15 SP7 Fixed
SUSE Linux Enterprise Server 15 SP6-LTSS Fixed
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy