Docker Compose项目披露了一个高危路径遍历漏洞(编号CVE-2025-62725,CVSS v4评分8.9),影响范围包括Docker Desktop、独立Compose二进制文件、CI/CD流水线及云开发环境的用户。
安全公告指出:“Docker Compose信任远程OCI Compose制品中嵌入的路径信息。当某个层包含com.docker.compose.extends 或com.docker.compose.envfile 注解时,Compose会将攻击者通过com.docker.compose.file 或com.docker.compose.envfile 提供的值与本地缓存目录拼接,并将文件写入该位置。”
这一设计缺陷可被用于路径遍历攻击,使恶意攻击者能够逃离Compose缓存目录,覆盖主机系统上的任意文件。
公告强调,漏洞影响广泛且严重,波及“所有解析远程OCI Compose制品的平台或工作流”。实际上,这包括Docker Desktop安装实例、基于Linux的独立Compose二进制文件、持续集成运行器及云开发者沙箱。
令人担忧的是,利用该漏洞无需构建或运行容器。通过只读命令(如docker compose config或docker compose ps)即可触发漏洞——这些命令通常在配置验证或CI代码检查阶段执行。
项目维护者警告:“攻击者可逃离缓存目录,覆盖运行docker compose的机器上的任意文件,即使用户仅执行docker compose config或docker compose ps等只读命令。”
这意味着处理不可信OCI Compose文件(例如来自远程镜像仓库或第三方来源)的开发者或自动化流水线面临重大风险。
漏洞根源在于Docker Compose处理OCI制品层及其注解的方式。OCI(开放容器倡议)制品允许Compose文件远程分发和版本控制。
然而,v2.40.2之前的Docker Compose版本默认信任这些层中的注解值——尤其是使用com.docker.compose.extends 和com.docker.compose.envfile 键的注解。攻击者可通过注入恶意相对路径(如../../../../../etc/passwd),诱使Compose将文件写入预期缓存目录之外,进而覆盖系统文件或敏感配置数据。
Docker已在Docker Compose v2.40.2中发布补丁修复该漏洞,引入了对注解路径的严格验证和清理机制。








发表评论
您还未登录,请先登录。
登录