Docker Compose曝路径遍历漏洞,可致任意覆写文件(CVE-2025-62725)

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版本中发布补丁,该版本引入了更严格的注解路径验证和清理机制。

相关推荐
蝎子莱莱爱打怪10 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p3 天前
docker学习: 1. docker基本使用
docker
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter4 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker