Docker修复可导致程序以系统权限运行的Windows客户端漏洞
字数 1276 2025-08-15 21:30:51
Docker Windows客户端权限提升漏洞(CVE-2020-11492)技术分析与防护指南
漏洞概述
CVE-2020-11492是Docker Desktop for Windows中的一个高危安全漏洞,允许攻击者在已入侵的系统上提升至SYSTEM权限执行任意命令。该漏洞由Pen Test Partners公司的Ceri Coburn发现并报告。
受影响版本
- Docker Desktop for Windows所有低于2.3.0.2的版本
漏洞技术细节
漏洞根源
漏洞存在于Docker Desktop Service的进程间通信(IPC)机制中,具体问题包括:
- 命名管道(Named Pipe)滥用:Docker服务通过Windows命名管道与子进程通信
- 客户端模拟缺陷:服务以客户端身份连接子进程创建的命名管道时,未正确处理模拟权限
- 默认高权限运行:Docker Desktop Service默认以SYSTEM权限运行
攻击原理
攻击者可以通过以下步骤利用该漏洞:
- 在目标系统上创建名为
\\.\pipe\dockerLifecycleServer的恶意命名管道 - 等待Docker应用程序启动并连接到该管道
- 当连接建立时,攻击者进程可以模拟具有SYSTEM权限的客户端
- 使用
CreateProcessWithTokenWAPI创建新的高权限进程
漏洞利用条件
- 攻击者已获得目标系统的初始访问权限(需要先入侵系统)
- 目标系统运行受影响版本的Docker Desktop for Windows
- Docker Desktop Service处于运行状态(默认待命运行)
漏洞修复方案
官方修复
Docker在2.3.0.2版本中修复了该漏洞,主要修复措施包括:
- 修改命名管道通信机制,正确处理客户端模拟权限
- 加强服务端对命名管道连接的验证
修复版本:Docker Desktop for Windows 2.3.0.2及更高版本
临时缓解措施
如果无法立即升级,可采取以下临时措施:
- 禁用Docker Desktop Service(可能影响Docker功能)
- 限制系统上非管理员用户执行Docker Desktop的能力
- 监控对
\\.\pipe\dockerLifecycleServer命名管道的异常访问
漏洞时间线
- 发现日期:2020年3月(具体日期未公开)
- 报告日期:2020年3月25日(向Docker报告)
- 修复日期:2020年5月11日(发布2.3.0.2修复版本)
- 公开日期:2020年5月25日
开发安全建议
针对使用Windows命名管道进行进程间通信的开发人员:
- 最小权限原则:服务不应默认以SYSTEM等高权限运行
- 模拟权限控制:除非必要,应禁用命名管道连接的模拟特性
- 输入验证:应对命名管道连接进行严格的客户端验证
- 安全审计:定期审查高权限服务的IPC机制