Docker公司修复了Windows和macOS版Docker Desktop应用程序中的一个高危漏洞(CVE-2025-9074,CVSS评分9.3),攻击者可能利用该漏洞突破容器隔离限制。
漏洞技术细节
根据Docker官方文档披露,恶意容器能够访问Docker引擎并在无需套接字的情况下启动新容器,即使启用了增强容器隔离(ECI,Enhanced Container Isolation)功能,仍存在主机文件被访问的风险。
安全公告指出:"Docker Desktop中存在一个漏洞,允许本地运行的Linux容器通过默认配置的Docker子网(192.168.65.7:2375)访问Docker引擎API。无论是否启用增强容器隔离功能,或是否开启'通过tcp://localhost:2375无TLS暴露守护进程'选项,该漏洞都会存在。攻击者可借此向引擎API执行大量特权命令,包括控制其他容器、创建新容器、管理镜像等。在某些情况下(如使用WSL后端的Windows版Docker Desktop),攻击者还能以Docker Desktop运行用户的相同权限挂载主机驱动器。"
漏洞发现过程
该漏洞由研究人员Felix Boulet和Philippe Dugre(zer0x64)发现。Boulet证实漏洞允许容器在无需认证的情况下连接Docker引擎API(192.168.65.7:2375)。概念验证显示,任何容器均可发送请求绑定主机的C:\驱动器,随后启动具有主机文件读写权限的容器,最终导致完全控制主机。
Boulet表示:"这个漏洞本质上是由于一个简单的疏忽——Docker的内部HTTP API可以从任何容器访问,且无需认证或访问控制。这深刻提醒我们,关键安全漏洞往往源于最基本的假设。我通过对Docker文档记载的私有网络进行快速nmap扫描发现了这个问题。扫描整个私有子网只需几分钟,可能会揭示你并未如想象中那样隔离。务必测试网络隔离假设,不要默认所有安全模型都已对齐。"
跨平台影响分析
Dugre发现Windows版Docker Desktop漏洞允许攻击者以管理员权限挂载完整文件系统,读取敏感数据或覆盖DLL获取主机控制权。专家解释称,得益于系统隔离机制,macOS受影响程度较低,但攻击者仍可后门化Docker配置。Linux系统不受影响,因其使用命名管道进行通信。漏洞利用途径包括恶意容器或通过SSRF(Server-Side Request Forgery)代理请求至Docker套接字。
Dugre补充说明:"虽然最简单的利用方式是通过攻击者控制的易受攻击/恶意容器,但服务器端请求伪造(SSRF)也是可行的攻击向量。该漏洞允许攻击者通过易受攻击的应用程序代理请求访问Docker套接字,实际影响尤其取决于HTTP请求方法的可用性(多数SSRF仅允许GET请求,但在某些特殊情况下允许使用POST、PATCH、DELETE方法)。"