CVE-2026-17106
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
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| moby | go-archive | 0 < 0.3.0 | affected |
| Docker | Docker Sandboxes | 0 < 0.38.0 | affected |
| Docker | Docker Desktop | 0 < 4.86.0 | affected |
| Docker | Docker Engine | 0 < 29.7.0 | affected |
| Docker | Docker CLI | 0 < 29.7.0 | affected |
| Docker | Docker Compose | 0 < 5.4.0 | affected |
Weaknesses
- CWE-59: CWE-59: Improper Link Resolution Before File Access ('Link Following')
Workarounds
Only extract trusted archives.
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: poc
- Automatable: no
- Technical Impact: total
Additional References
References
- https://github.com/moby/go-archive/security/advisories/GHSA-hfg8-hc9c-6c3h
- https://docs.docker.com/desktop/release-notes/#4860
- https://github.com/docker/sbx-releases/releases/tag/v0.38.0
- https://docs.docker.com/engine/release-notes/29/#2970
- https://github.com/docker/cli/releases/tag/v29.7.0
- https://github.com/docker/compose/releases/tag/v5.4.0
- https://github.com/moby/go-archive/releases/tag/v0.3.0
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.