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 分钟前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
Lam㊣25 分钟前
Centos 7 系统docker:更换镜像源
linux·docker·centos
挖土机_0081 小时前
Kubernetes 1.35 原地扩容(In-Place Pod Resize)完整解析:机制、差异与实战示例
docker·kubernetes
左直拳2 小时前
将c++程序部署到docker
开发语言·c++·docker
五仁火烧2 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
Anyexyz3 小时前
【更新】境内 Docker 镜像状态监控——配置生成,一键复制!
运维·docker·容器
释怀不想释怀4 小时前
Docker(网络)
运维·docker·容器
羊羊羊i6 小时前
使用Informer监听K8s资源
云原生·容器·kubernetes
VermiliEiz7 小时前
二进制文件部署k8s方式(5)
云原生·容器·kubernetes
java_logo7 小时前
QWEN3 企业级 Docker 容器化部署指南
运维·docker·容器·qwen3部署·qwen3部署文档·qwen3部署教程·qwen3部署方案