Search
Find a vulnerability
Search criteria
ⓘ
Use this form to refine search results.
Full-text search supports keyword queries with ranking and filtering.
You can combine vendor, product, and sources to narrow results.
Enable “Apply ordering” to sort by date instead of relevance.
2 vulnerabilities found for Docker Compose by Docker
CVE-2026-17106 (GCVE-0-2026-17106)
Vulnerability from nvd – Published: 2026-08-18 18:35 – Updated: 2026-08-19 03:56
VLAI
EPSS
VEX
Title
Tar extraction in moby/go-archive can write outside the destination directory via link following
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.
Severity
SSVC
Exploitation: poc
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-08-18 00:00 UTC
CWE
- CWE-59 - Improper Link Resolution Before File Access ('Link Following')
Assigner
References
8 references
| URL | Tags |
|---|---|
| https://github.com/moby/go-archive/security/advis… | vendor-advisory |
| https://docs.docker.com/desktop/release-notes/#4860 | release-notes |
| https://github.com/docker/sbx-releases/releases/t… | release-notes |
| https://docs.docker.com/engine/release-notes/29/#2970 | release-notes |
| https://github.com/docker/cli/releases/tag/v29.7.0 | release-notes |
| https://github.com/docker/compose/releases/tag/v5.4.0 | release-notes |
| https://github.com/moby/go-archive/releases/tag/v0.3.0 | patch |
| https://github.com/masasron/CopyEscape-CVE-2026-17106 | exploit |
Impacted products
6 products
| Vendor | Product | Version | |
|---|---|---|---|
| moby | go-archive |
Affected:
0 , < 0.3.0
(semver)
|
|
| Docker | Docker Sandboxes |
Affected:
0 , < 0.38.0
(semver)
cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:* |
|
| Docker | Docker Desktop |
Affected:
0 , < 4.86.0
(semver)
cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:* |
|
| Docker | Docker Engine |
Affected:
0 , < 29.7.0
(semver)
|
|
| Docker | Docker CLI |
Affected:
0 , < 29.7.0
(semver)
|
|
| Docker | Docker Compose |
Affected:
0 , < 5.4.0
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-17106",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-18T00:00:00+00:00",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-19T03:56:16.526Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/masasron/CopyEscape-CVE-2026-17106"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"packageName": "github.com/moby/go-archive",
"product": "go-archive",
"vendor": "moby",
"versions": [
{
"lessThan": "0.3.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"cpes": [
"cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Sandboxes",
"vendor": "Docker",
"versions": [
{
"lessThan": "0.38.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"cpes": [
"cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Desktop",
"vendor": "Docker",
"versions": [
{
"lessThan": "4.86.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Engine",
"vendor": "Docker",
"versions": [
{
"lessThan": "29.7.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker CLI",
"vendor": "Docker",
"versions": [
{
"lessThan": "29.7.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Compose",
"vendor": "Docker",
"versions": [
{
"lessThan": "5.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Ron Masas (Imperva) and other independent reports"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "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."
}
],
"value": "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."
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "LOCAL",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-59",
"description": "CWE-59: Improper Link Resolution Before File Access (\u0027Link Following\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-18T18:35:13.465Z",
"orgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e",
"shortName": "Docker"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://github.com/moby/go-archive/security/advisories/GHSA-hfg8-hc9c-6c3h"
},
{
"tags": [
"release-notes"
],
"url": "https://docs.docker.com/desktop/release-notes/#4860"
},
{
"tags": [
"release-notes"
],
"url": "https://github.com/docker/sbx-releases/releases/tag/v0.38.0"
},
{
"tags": [
"release-notes"
],
"url": "https://docs.docker.com/engine/release-notes/29/#2970"
},
{
"tags": [
"release-notes"
],
"url": "https://github.com/docker/cli/releases/tag/v29.7.0"
},
{
"tags": [
"release-notes"
],
"url": "https://github.com/docker/compose/releases/tag/v5.4.0"
},
{
"tags": [
"patch"
],
"url": "https://github.com/moby/go-archive/releases/tag/v0.3.0"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Tar extraction in moby/go-archive can write outside the destination directory via link following",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Only extract trusted archives."
}
],
"value": "Only extract trusted archives."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e",
"assignerShortName": "Docker",
"cveId": "CVE-2026-17106",
"datePublished": "2026-08-18T18:35:13.465Z",
"dateReserved": "2026-07-24T15:24:25.317Z",
"dateUpdated": "2026-08-19T03:56:16.526Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-17106 (GCVE-0-2026-17106)
Vulnerability from cvelistv5 – Published: 2026-08-18 18:35 – Updated: 2026-08-19 03:56
VLAI
EPSS
VEX
Title
Tar extraction in moby/go-archive can write outside the destination directory via link following
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.
Severity
SSVC
Exploitation: poc
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-08-18 00:00 UTC
CWE
- CWE-59 - Improper Link Resolution Before File Access ('Link Following')
Assigner
References
8 references
| URL | Tags |
|---|---|
| https://github.com/moby/go-archive/security/advis… | vendor-advisory |
| https://docs.docker.com/desktop/release-notes/#4860 | release-notes |
| https://github.com/docker/sbx-releases/releases/t… | release-notes |
| https://docs.docker.com/engine/release-notes/29/#2970 | release-notes |
| https://github.com/docker/cli/releases/tag/v29.7.0 | release-notes |
| https://github.com/docker/compose/releases/tag/v5.4.0 | release-notes |
| https://github.com/moby/go-archive/releases/tag/v0.3.0 | patch |
| https://github.com/masasron/CopyEscape-CVE-2026-17106 | exploit |
Impacted products
6 products
| Vendor | Product | Version | |
|---|---|---|---|
| moby | go-archive |
Affected:
0 , < 0.3.0
(semver)
|
|
| Docker | Docker Sandboxes |
Affected:
0 , < 0.38.0
(semver)
cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:* |
|
| Docker | Docker Desktop |
Affected:
0 , < 4.86.0
(semver)
cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:* |
|
| Docker | Docker Engine |
Affected:
0 , < 29.7.0
(semver)
|
|
| Docker | Docker CLI |
Affected:
0 , < 29.7.0
(semver)
|
|
| Docker | Docker Compose |
Affected:
0 , < 5.4.0
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-17106",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-18T00:00:00+00:00",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-19T03:56:16.526Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/masasron/CopyEscape-CVE-2026-17106"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"packageName": "github.com/moby/go-archive",
"product": "go-archive",
"vendor": "moby",
"versions": [
{
"lessThan": "0.3.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"cpes": [
"cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Sandboxes",
"vendor": "Docker",
"versions": [
{
"lessThan": "0.38.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"cpes": [
"cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Desktop",
"vendor": "Docker",
"versions": [
{
"lessThan": "4.86.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Engine",
"vendor": "Docker",
"versions": [
{
"lessThan": "29.7.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker CLI",
"vendor": "Docker",
"versions": [
{
"lessThan": "29.7.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"platforms": [
"MacOS",
"Linux",
"Windows"
],
"product": "Docker Compose",
"vendor": "Docker",
"versions": [
{
"lessThan": "5.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Ron Masas (Imperva) and other independent reports"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "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."
}
],
"value": "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."
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "LOCAL",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-59",
"description": "CWE-59: Improper Link Resolution Before File Access (\u0027Link Following\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-18T18:35:13.465Z",
"orgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e",
"shortName": "Docker"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://github.com/moby/go-archive/security/advisories/GHSA-hfg8-hc9c-6c3h"
},
{
"tags": [
"release-notes"
],
"url": "https://docs.docker.com/desktop/release-notes/#4860"
},
{
"tags": [
"release-notes"
],
"url": "https://github.com/docker/sbx-releases/releases/tag/v0.38.0"
},
{
"tags": [
"release-notes"
],
"url": "https://docs.docker.com/engine/release-notes/29/#2970"
},
{
"tags": [
"release-notes"
],
"url": "https://github.com/docker/cli/releases/tag/v29.7.0"
},
{
"tags": [
"release-notes"
],
"url": "https://github.com/docker/compose/releases/tag/v5.4.0"
},
{
"tags": [
"patch"
],
"url": "https://github.com/moby/go-archive/releases/tag/v0.3.0"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Tar extraction in moby/go-archive can write outside the destination directory via link following",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Only extract trusted archives."
}
],
"value": "Only extract trusted archives."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e",
"assignerShortName": "Docker",
"cveId": "CVE-2026-17106",
"datePublished": "2026-08-18T18:35:13.465Z",
"dateReserved": "2026-07-24T15:24:25.317Z",
"dateUpdated": "2026-08-19T03:56:16.526Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}