{"schemaVersion":3,"id":"CVE-2025-62725","aliases":["SUSE-SU-2026:20871-1","UBUNTU-CVE-2025-62725","DEBIAN-CVE-2025-62725","GHSA-gv8h-7v7w-r22q","GO-2025-4077"],"status":"published","duplicateOf":null,"title":null,"description":"Docker Compose trusts the path information embedded in remote OCI compose artifacts. When a layer includes the annotations com.docker.compose.extends or com.docker.compose.envfile, Compose joins the attacker‑supplied value from com.docker.compose.file/com.docker.compose.envfile with its local cache directory and writes the file there. This affects any platform or workflow that resolves remote OCI compose artifacts, Docker Desktop, standalone Compose binaries on Linux, CI/CD runners, cloud dev environments is affected. An attacker can escape the cache directory and overwrite arbitrary files on the machine running docker compose, even if the user only runs read‑only commands such as docker compose config or docker compose ps. This issue is fixed in v2.40.2.","dates":{"published":"2025-10-27T20:37:32.340Z","modified":"2025-10-28T14:47:42.196Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.9,"severity":"high","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.9,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Ubuntu","score":8.9,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Debian","score":8.9,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Go","score":8.9,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":8.9,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.13701,"percentile":0.96468,"severity":"medium","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.047999999999998044,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.13653},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.13701,"percentile":0.96468}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.13653,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.13701,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.13701,"percentile":0.96468}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"debian","product":"docker-compose","name":"docker-compose","label":"docker-compose","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/docker-compose","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"docker-compose","name":"docker-compose","label":"docker-compose","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/docker-compose","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"docker","product":"compose","name":"Compose","label":"compose","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.40.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.40.2","eol":null,"hubHref":"/vendor/docker/compose"},{"vendor":"github.com/docker","product":"compose","name":"github.com/docker/compose","label":"compose","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/docker/compose","purlType":"golang","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"github.com/docker/compose","product":"v2","name":"github.com/docker/compose/v2","label":"v2","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/docker/compose/v2","purlType":"golang","versions":[{"text":"≥ 2.34.0, < 2.40.2","noFixRecorded":false,"fixedIn":null},{"text":"< 2.40.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.34.0, < 2.40.2 | < 2.40.2","eol":null,"hubHref":null},{"vendor":"suse","product":"docker-compose&distro=SUSE Linux Micro 6.0","name":"docker-compose","label":"docker-compose&distro=SUSE Linux Micro 6.0","ecosystem":"SUSE Linux Enterprise","cpePart":null,"purl":"pkg:rpm/suse/docker-compose&distro=SUSE Linux Micro 6.0","purlType":"rpm","versions":[{"text":"< 2.33.1-4.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.33.1-4.1","eol":null,"hubHref":null}],"affectedCount":6,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/docker/compose/security/advisories/GHSA-gv8h-7v7w-r22q","label":"github.com/docker/compose/security/advisories/GHSA-gv8h-7v7w-r22q","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","WEB","Advisory"]},{"url":"https://github.com/docker/compose/commit/69bcb962bfb2ea53b41aa925333d356b577d6176","label":"github.com/docker/compose/commit/69bcb962bfb2ea53b41aa925333d356b577d6176","hostname":"github.com","tags":["X Refsource MISC","REPORT","WEB","FIX"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202620871-1/","label":"www.suse.com/support/update/announcement/2026/suse-su-202620871-1/","hostname":"www.suse.com","tags":["Advisory"]},{"url":"https://bugzilla.suse.com/1252752","label":"bugzilla.suse.com/1252752","hostname":"bugzilla.suse.com","tags":["REPORT"]},{"url":"https://www.suse.com/security/cve/CVE-2025-62725","label":"www.suse.com/security/cve/CVE-2025-62725","hostname":"www.suse.com","tags":["WEB"]},{"url":"https://ubuntu.com/security/CVE-2025-62725","label":"ubuntu.com/security/CVE-2025-62725","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-62725","label":"www.cve.org/CVERecord?id=CVE-2025-62725","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2025-62725","label":"security-tracker.debian.org/tracker/CVE-2025-62725","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-62725","label":"nvd.nist.gov/vuln/detail/CVE-2025-62725","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/docker/compose","label":"github.com/docker/compose","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2025:15710-1","OPENSUSE-SU-2026:20438-1","OPENSUSE-SU-2026:21483-1","SUSE-SU-2026:20656-1","SUSE-SU-2026:20949-1","SUSE-SU-2026:20976-1"],"duplicates":[],"related":["OPENSUSE-SU-2025:15710-1","OPENSUSE-SU-2026:20438-1","OPENSUSE-SU-2026:21483-1","SUSE-SU-2026:20656-1","SUSE-SU-2026:20949-1","SUSE-SU-2026:20976-1"]},"timeline":[{"kind":"published","date":"2025-10-27T20:37:32.340Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-10-28T14:47:42.196Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":38,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T07:21:39.795Z","stale":false,"partial":false}}