{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-17106", "assignerOrgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e", "state": "PUBLISHED", "assignerShortName": "Docker", "dateReserved": "2026-07-24T15:24:25.317Z", "datePublished": "2026-08-18T18:35:13.465Z", "dateUpdated": "2026-08-19T03:56:16.526Z"}, "containers": {"cna": {"affected": [{"defaultStatus": "unaffected", "packageName": "github.com/moby/go-archive", "product": "go-archive", "vendor": "moby", "versions": [{"version": "0", "status": "affected", "lessThan": "0.3.0", "versionType": "semver"}]}, {"defaultStatus": "unaffected", "platforms": ["MacOS", "Linux", "Windows"], "product": "Docker Sandboxes", "vendor": "Docker", "cpes": ["cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:*"], "versions": [{"version": "0", "status": "affected", "lessThan": "0.38.0", "versionType": "semver"}]}, {"defaultStatus": "unaffected", "platforms": ["MacOS", "Linux", "Windows"], "product": "Docker Desktop", "vendor": "Docker", "cpes": ["cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:*"], "versions": [{"version": "0", "status": "affected", "lessThan": "4.86.0", "versionType": "semver"}]}, {"defaultStatus": "unaffected", "platforms": ["MacOS", "Linux", "Windows"], "product": "Docker Engine", "vendor": "Docker", "versions": [{"version": "0", "status": "affected", "lessThan": "29.7.0", "versionType": "semver"}]}, {"defaultStatus": "unaffected", "platforms": ["MacOS", "Linux", "Windows"], "product": "Docker CLI", "vendor": "Docker", "versions": [{"version": "0", "status": "affected", "lessThan": "29.7.0", "versionType": "semver"}]}, {"defaultStatus": "unaffected", "platforms": ["MacOS", "Linux", "Windows"], "product": "Docker Compose", "vendor": "Docker", "versions": [{"version": "0", "status": "affected", "lessThan": "5.4.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": {"version": "4.0", "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", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "privilegesRequired": "NONE", "userInteraction": "ACTIVE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED", "exploitMaturity": "NOT_DEFINED"}, "format": "CVSS", "scenarios": [{"lang": "en", "value": "GENERAL"}]}], "problemTypes": [{"descriptions": [{"cweId": "CWE-59", "description": "CWE-59: Improper Link Resolution Before File Access ('Link Following')", "lang": "en", "type": "CWE"}]}], "providerMetadata": {"orgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e", "shortName": "Docker", "dateUpdated": "2026-08-18T18:35:13.465Z"}, "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."}], "x_gcve": [{"vulnId": "CVE-2026-17106", "recordType": "advisory"}]}, "adp": [{"references": [{"url": "https://github.com/masasron/CopyEscape-CVE-2026-17106", "tags": ["exploit"]}], "metrics": [{"other": {"type": "ssvc", "content": {"timestamp": "2026-08-18T00:00:00+00:00", "options": [{"Exploitation": "poc"}, {"Automatable": "no"}, {"Technical Impact": "total"}], "role": "CISA Coordinator", "version": "2.0.3", "id": "CVE-2026-17106"}}}], "title": "CISA ADP Vulnrichment", "providerMetadata": {"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-08-19T03:56:16.526Z"}}]}, "vulnerability-lookup:meta": {"epss": {"cve": "CVE-2026-17106", "date": "2026-11-08", "epss": "0.0044", "percentile": "0.38531"}, "microsoft_vex": {"current_release_date": "2026-09-10T03:34:29.000Z", "cve": "CVE-2026-17106", "id": "msrc_CVE-2026-17106", "initial_release_date": "2026-08-23T01:03:37.000Z", "product_status:fixed": "4", "product_status:known_affected": "4", "source": "Microsoft CSAF VEX", "status": "final", "title": "Tar extraction in moby/go-archive can write outside the destination directory via link following", "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-17106.json", "version": "5"}, "nvd": "{\"cve\":{\"id\":\"CVE-2026-17106\",\"sourceIdentifier\":\"security@docker.com\",\"published\":\"2026-08-18T19:16:45.030\",\"lastModified\":\"2026-08-28T15:29:44.967\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"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.\"}],\"affected\":[{\"source\":\"security@docker.com\",\"affectedData\":[{\"vendor\":\"moby\",\"product\":\"go-archive\",\"defaultStatus\":\"unaffected\",\"packageName\":\"github.com/moby/go-archive\",\"versions\":[{\"version\":\"0\",\"lessThan\":\"0.3.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Docker\",\"product\":\"Docker Sandboxes\",\"defaultStatus\":\"unaffected\",\"cpes\":[\"cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:*\"],\"platforms\":[\"MacOS\",\"Linux\",\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"0.38.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Docker\",\"product\":\"Docker Desktop\",\"defaultStatus\":\"unaffected\",\"cpes\":[\"cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:*\"],\"platforms\":[\"MacOS\",\"Linux\",\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"4.86.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Docker\",\"product\":\"Docker Engine\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"MacOS\",\"Linux\",\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"29.7.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Docker\",\"product\":\"Docker CLI\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"MacOS\",\"Linux\",\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"29.7.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Docker\",\"product\":\"Docker Compose\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"MacOS\",\"Linux\",\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"5.4.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV40\":[{\"source\":\"security@docker.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"4.0\",\"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"attackRequirements\":\"PRESENT\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"ACTIVE\",\"vulnConfidentialityImpact\":\"HIGH\",\"vulnIntegrityImpact\":\"HIGH\",\"vulnAvailabilityImpact\":\"HIGH\",\"subConfidentialityImpact\":\"NONE\",\"subIntegrityImpact\":\"NONE\",\"subAvailabilityImpact\":\"NONE\",\"exploitMaturity\":\"NOT_DEFINED\",\"confidentialityRequirement\":\"NOT_DEFINED\",\"integrityRequirement\":\"NOT_DEFINED\",\"availabilityRequirement\":\"NOT_DEFINED\",\"modifiedAttackVector\":\"NOT_DEFINED\",\"modifiedAttackComplexity\":\"NOT_DEFINED\",\"modifiedAttackRequirements\":\"NOT_DEFINED\",\"modifiedPrivilegesRequired\":\"NOT_DEFINED\",\"modifiedUserInteraction\":\"NOT_DEFINED\",\"modifiedVulnConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedVulnIntegrityImpact\":\"NOT_DEFINED\",\"modifiedVulnAvailabilityImpact\":\"NOT_DEFINED\",\"modifiedSubConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedSubIntegrityImpact\":\"NOT_DEFINED\",\"modifiedSubAvailabilityImpact\":\"NOT_DEFINED\",\"Safety\":\"NOT_DEFINED\",\"Automatable\":\"NOT_DEFINED\",\"Recovery\":\"NOT_DEFINED\",\"valueDensity\":\"NOT_DEFINED\",\"vulnerabilityResponseEffort\":\"NOT_DEFINED\",\"providerUrgency\":\"NOT_DEFINED\"}}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-08-18T00:00:00+00:00\",\"id\":\"CVE-2026-17106\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security@docker.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-59\"}]}],\"references\":[{\"url\":\"https://docs.docker.com/desktop/release-notes/#4860\",\"source\":\"security@docker.com\"},{\"url\":\"https://docs.docker.com/engine/release-notes/29/#2970\",\"source\":\"security@docker.com\"},{\"url\":\"https://github.com/docker/cli/releases/tag/v29.7.0\",\"source\":\"security@docker.com\"},{\"url\":\"https://github.com/docker/compose/releases/tag/v5.4.0\",\"source\":\"security@docker.com\"},{\"url\":\"https://github.com/docker/sbx-releases/releases/tag/v0.38.0\",\"source\":\"security@docker.com\"},{\"url\":\"https://github.com/moby/go-archive/releases/tag/v0.3.0\",\"source\":\"security@docker.com\"},{\"url\":\"https://github.com/moby/go-archive/security/advisories/GHSA-hfg8-hc9c-6c3h\",\"source\":\"security@docker.com\"},{\"url\":\"https://github.com/masasron/CopyEscape-CVE-2026-17106\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"}]}}", "redhat_vex": {"aggregate_severity": "Important", "current_release_date": "2026-11-04T22:09:18+00:00", "cve": "CVE-2026-17106", "id": "CVE-2026-17106", "initial_release_date": "2026-08-18T18:35:13.465000+00:00", "product_status:fixed": "186", "product_status:known_affected": "58", "product_status:known_not_affected": "1038", "source": "Red Hat CSAF VEX", "status": "final", "title": "github.com/moby/go-archive: moby/go-archive: Arbitrary file write via link following in tar extraction", "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-17106.json", "version": "3"}, "vulnrichment": {"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-17106\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-08-18T18:50:49.774785Z\"}}}], \"references\": [{\"url\": \"https://github.com/masasron/CopyEscape-CVE-2026-17106\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-08-18T18:51:08.466Z\"}}], \"cna\": {\"title\": \"Tar extraction in moby/go-archive can write outside the destination directory via link following\", \"source\": {\"discovery\": \"EXTERNAL\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Ron Masas (Imperva) and other independent reports\"}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV4_0\": {\"Safety\": \"NOT_DEFINED\", \"version\": \"4.0\", \"Recovery\": \"NOT_DEFINED\", \"baseScore\": 7.1, \"Automatable\": \"NOT_DEFINED\", \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"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\", \"exploitMaturity\": \"NOT_DEFINED\", \"providerUrgency\": \"NOT_DEFINED\", \"userInteraction\": \"ACTIVE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"PRESENT\", \"privilegesRequired\": \"NONE\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"HIGH\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"HIGH\", \"subConfidentialityImpact\": \"NONE\", \"vulnConfidentialityImpact\": \"HIGH\", \"vulnerabilityResponseEffort\": \"NOT_DEFINED\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"vendor\": \"moby\", \"product\": \"go-archive\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"0.3.0\", \"versionType\": \"semver\"}], \"packageName\": \"github.com/moby/go-archive\", \"defaultStatus\": \"unaffected\"}, {\"cpes\": [\"cpe:2.3:a:docker:docker_sandboxes:*:*:*:*:*:*:*:*\"], \"vendor\": \"Docker\", \"product\": \"Docker Sandboxes\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"0.38.0\", \"versionType\": \"semver\"}], \"platforms\": [\"MacOS\", \"Linux\", \"Windows\"], \"defaultStatus\": \"unaffected\"}, {\"cpes\": [\"cpe:2.3:a:docker:desktop:*:*:*:*:*:*:*:*\"], \"vendor\": \"Docker\", \"product\": \"Docker Desktop\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"4.86.0\", \"versionType\": \"semver\"}], \"platforms\": [\"MacOS\", \"Linux\", \"Windows\"], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"Docker\", \"product\": \"Docker Engine\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"29.7.0\", \"versionType\": \"semver\"}], \"platforms\": [\"MacOS\", \"Linux\", \"Windows\"], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"Docker\", \"product\": \"Docker CLI\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"29.7.0\", \"versionType\": \"semver\"}], \"platforms\": [\"MacOS\", \"Linux\", \"Windows\"], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"Docker\", \"product\": \"Docker Compose\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"5.4.0\", \"versionType\": \"semver\"}], \"platforms\": [\"MacOS\", \"Linux\", \"Windows\"], \"defaultStatus\": \"unaffected\"}], \"references\": [{\"url\": \"https://github.com/moby/go-archive/security/advisories/GHSA-hfg8-hc9c-6c3h\", \"tags\": [\"vendor-advisory\"]}, {\"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\": [\"release-notes\"]}, {\"url\": \"https://github.com/moby/go-archive/releases/tag/v0.3.0\", \"tags\": [\"patch\"]}], \"workarounds\": [{\"lang\": \"en\", \"value\": \"Only extract trusted archives.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"Only extract trusted archives.\", \"base64\": false}]}], \"descriptions\": [{\"lang\": \"en\", \"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.\", \"supportingMedia\": [{\"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.\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-59\", \"description\": \"CWE-59: Improper Link Resolution Before File Access ('Link Following')\"}]}], \"providerMetadata\": {\"orgId\": \"686469e6-3ff6-451b-ab8b-cf5b9e89401e\", \"shortName\": \"Docker\", \"dateUpdated\": \"2026-08-18T18:35:13.465Z\"}}}", "cveMetadata": "{\"cveId\": \"CVE-2026-17106\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-19T03:56:16.526Z\", \"dateReserved\": \"2026-07-24T15:24:25.317Z\", \"assignerOrgId\": \"686469e6-3ff6-451b-ab8b-cf5b9e89401e\", \"datePublished\": \"2026-08-18T18:35:13.465Z\", \"assignerShortName\": \"Docker\"}", "dataType": "CVE_RECORD", "dataVersion": "5.2"}}}
