On 28/10/2025 20:38, Salvatore Bonaccorso wrote:
Source: docker-compose
Version: 2.32.4-3
Severity: important
Tags: security upstream
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerability was published for docker-compose.

CVE-2025-62725[0]:
| 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.


If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2025-62725
     https://www.cve.org/CVERecord?id=CVE-2025-62725
[1] https://github.com/docker/compose/security/advisories/GHSA-gv8h-7v7w-r22q
[2] 
https://github.com/docker/compose/commit/69bcb962bfb2ea53b41aa925333d356b577d6176

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

I started to look at this, and from what I see in the referenced commit that fixes this [2]: The two features based on "annotations" where the new validatePathInBase() is used before creating files [line 221] and [line 245] are not existing prior to v2.33.0, as they have been added respectively in [66a4716] (since v2.34.0) and [8402888] (since v2.33.0).

I would like to have another look, but IMO it can safely be restrained to a narrower range of versions.

[line 221] https://github.com/docker/compose/commit/69bcb962bfb2ea53b41aa925333d356b577d6176#diff-09dc78263fc0dc591448f89a2ddf63cf33268e6e62d8fd9e35cacfa0d90982a6R221 [line 245] https://github.com/docker/compose/commit/69bcb962bfb2ea53b41aa925333d356b577d6176#diff-09dc78263fc0dc591448f89a2ddf63cf33268e6e62d8fd9e35cacfa0d90982a6R245 [66a4716] https://github.com/docker/compose/commit/66a47169d51ef4be5e230dda982661248b20f60a#diff-09dc78263fc0dc591448f89a2ddf63cf33268e6e62d8fd9e35cacfa0d90982a6L160-R167 [8402888] https://github.com/docker/compose/commit/840288895e673fcccd56a7830dee30d8a75523ef#diff-09dc78263fc0dc591448f89a2ddf63cf33268e6e62d8fd9e35cacfa0d90982a6R184-R196
--
Nicolas Peugnet

Reply via email to