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)机制中,具体问题包括:

  1. 命名管道(Named Pipe)滥用:Docker服务通过Windows命名管道与子进程通信
  2. 客户端模拟缺陷:服务以客户端身份连接子进程创建的命名管道时,未正确处理模拟权限
  3. 默认高权限运行:Docker Desktop Service默认以SYSTEM权限运行

攻击原理

攻击者可以通过以下步骤利用该漏洞:

  1. 在目标系统上创建名为\\.\pipe\dockerLifecycleServer的恶意命名管道
  2. 等待Docker应用程序启动并连接到该管道
  3. 当连接建立时,攻击者进程可以模拟具有SYSTEM权限的客户端
  4. 使用CreateProcessWithTokenW API创建新的高权限进程

漏洞利用条件

  • 攻击者已获得目标系统的初始访问权限(需要先入侵系统)
  • 目标系统运行受影响版本的Docker Desktop for Windows
  • Docker Desktop Service处于运行状态(默认待命运行)

漏洞修复方案

官方修复

Docker在2.3.0.2版本中修复了该漏洞,主要修复措施包括:

  1. 修改命名管道通信机制,正确处理客户端模拟权限
  2. 加强服务端对命名管道连接的验证

修复版本:Docker Desktop for Windows 2.3.0.2及更高版本

临时缓解措施

如果无法立即升级,可采取以下临时措施:

  1. 禁用Docker Desktop Service(可能影响Docker功能)
  2. 限制系统上非管理员用户执行Docker Desktop的能力
  3. 监控对\\.\pipe\dockerLifecycleServer命名管道的异常访问

漏洞时间线

  • 发现日期:2020年3月(具体日期未公开)
  • 报告日期:2020年3月25日(向Docker报告)
  • 修复日期:2020年5月11日(发布2.3.0.2修复版本)
  • 公开日期:2020年5月25日

开发安全建议

针对使用Windows命名管道进行进程间通信的开发人员:

  1. 最小权限原则:服务不应默认以SYSTEM等高权限运行
  2. 模拟权限控制:除非必要,应禁用命名管道连接的模拟特性
  3. 输入验证:应对命名管道连接进行严格的客户端验证
  4. 安全审计:定期审查高权限服务的IPC机制

参考资源

  1. Pen Test Partners原始报告
  2. CVE-2020-11492官方记录
  3. Docker官方更新日志
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权限的客户端 使用 CreateProcessWithTokenW API创建新的高权限进程 漏洞利用条件 攻击者已获得目标系统的初始访问权限(需要先入侵系统) 目标系统运行受影响版本的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机制 参考资源 Pen Test Partners原始报告 CVE-2020-11492官方记录 Docker官方更新日志