
Docker容器编排工具Compose近日披露一个高危路径遍历漏洞(CVE-2025-62725,CVSS v4评分8.9)。该漏洞影响Docker Desktop用户、独立Compose二进制文件用户、CI/CD流水线及云开发环境,攻击者通过特制OCI构件可覆写主机任意文件。
漏洞原理
根据安全公告披露,Docker Compose会无条件信任远程OCI compose构件中嵌入的路径信息。当构件层包含com.docker.compose.extends或com.docker.compose.envfile注解时,Compose会将攻击者控制的com.docker.compose.file或com.docker.compose.envfile值与本地缓存目录直接拼接,并执行文件写入操作。这一设计缺陷使得路径遍历攻击成为可能。
影响范围
安全报告指出,该漏洞影响"所有解析远程OCI compose构件的平台与工作流",具体包括:
Docker Desktop部署环境
Linux独立Compose二进制文件
持续集成运行环境
云开发沙箱环境
需特别注意的是,漏洞触发无需构建或运行容器。仅执行docker compose config或docker compose ps等只读命令即可激活漏洞,这类命令常出现于配置验证与CI代码检查环节。
项目维护团队警告:"攻击者可突破缓存目录限制,覆写运行docker compose的主机上的任意文件,即使用户仅执行只读命令。"这意味着处理来自远程注册表或第三方的不受信任OCI Compose文件时,开发者及自动化流水线将面临严重安全风险。
技术根源
漏洞源于Docker Compose对OCI构件层及其注解的处理机制。OCI(开放容器计划)构件支持Compose文件的远程分发与版本控制,但在v2.40.2之前版本中,Compose会隐式信任构件层中的注解值——特别是使用com.docker.compose.extends
和com.docker.compose.envfile键的注解。攻击者通过注入恶意相对路径(如../../../../../etc/passwd),即可诱导Compose在预期缓存目录外写入文件,进而篡改系统文件或敏感配置数据。
技术根源
漏洞源于Docker Compose对OCI构件层及其注解的处理机制。OCI(开放容器计划)构件支持Compose文件的远程分发与版本控制,但在v2.40.2之前版本中,Compose会隐式信任构件层中的注解值——特别是使用com.docker.compose.extends和com.docker.compose.envfile键的注解。攻击者通过注入恶意相对路径(如../../../../../etc/passwd),即可诱导Compose在预期缓存目录外写入文件,进而篡改系统文件或敏感配置数据。Docker已在Compose v2.40.2版本中发布安全更新,新增严格的注解路径验证与清理机制。建议所有用户立即升级至该版本。
参考来源:
Docker Compose Path Traversal (CVE-2025-62725) Allows Arbitrary File Overwrite via OCI Artifacts
https://securityonline.info/docker-compose-path-traversal-cve-2025-62725-allows-arbitrary-file-overwrite-via-oci-artifacts/
电台讨论