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

相关推荐
古城小栈17 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
会飞的小蛮猪19 小时前
K8s-1.29.2二进制安装-第一章
云原生·容器·kubernetes
周杰伦_Jay20 小时前
【大模型数据标注】核心技术与优秀开源框架
人工智能·机器学习·eureka·开源·github
凯新生物21 小时前
mPEG-SS-PLGA-DTX:智能药物递送系统
eureka·flink·ffmpeg·etcd
专家大圣1 天前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
Haooog1 天前
Docker面试题(不定时更新)
java·docker·面试
树下水月1 天前
docker 启动后 如何通过对应的进程 找docker-compose.yaml 编排文件
运维·docker·容器
凯子坚持 c1 天前
Docker 网络管理深度解析与实践指南
运维·docker·容器
kevin_水滴石穿1 天前
在镜像生成时从内网获取字体安装包并配置
linux·docker·容器
人生匆匆1 天前
部署使用rathole内网穿透
linux·运维·docker