在某些版本的 Docker 引擎中,被跟踪为 CVE-2024-41110(CVSS 评分为 10.0)的漏洞可允许攻击者在特定情况下绕过授权插件 (AuthZ)。
Moby Project 维护者发布的公告中写道:“攻击者可以使用 Content-Length 设置为 0 的 API 请求来利用绕过漏洞,导致 Docker 守护程序将没有正文的请求转发到 AuthZ 插件,该插件可能会错误地批准该请求。“使用特制的 API 请求,Engine API 客户端可以使守护进程将请求或响应转发到授权插件,而无需正文。在某些情况下,授权插件可能会允许一个请求,如果正文被转发给它,它本来会被拒绝。
2018 年发现的一个缺陷允许攻击者使用构建的 API 请求绕过 Docker 引擎中的授权 (AuthZ) 插件,从而可能导致未经授权的操作,包括权限提升。该漏洞已在 Docker Engine v18.09.1 版本中得到解决,但未包含在后续的主要版本中,从而导致回归。此问题不会影响 Docker EE v19.03.x 或任何版本的 Mirantis 容器运行时。
该漏洞于 2024 年 4 月被发现,已在 2024 年 7 月 23 日发布的版本 23.0.14 和 27.1.0 中得到解决。以下是使用 AuthZ 插件时受影响的 Docker Engine 版本列表:
- <= v19.03.15
- <= v20.10.27
- <= v23.0.14
- <= v24.0.9
- <= v25.0.5
- < = v26.0.2
- < = v26.1.4
- <= v27.0.3,以及
- < = v27.1.0
如果不使用授权插件进行访问控制决策,Docker Engine v19.03.x 及以上版本不受影响。同样,Mirantis Container Runtime 的所有版本都不会受到此问题的影响。
“不依赖AuthZ插件的Docker商业产品和内部基础设施的用户不受影响,”该公告继续说道。
Docker Desktop 4.32.0 及之前版本包含易受攻击的 Docker Engine 版本。但是,由于利用该漏洞需要访问 Docker API,而 Docker API 通常需要对主机进行本地访问,因此降低了风险。默认情况下,Docker Desktop 不包含 AuthZ 插件,从而限制了对 Docker Desktop VM 而不是底层主机的权限提升。预计 Docker Desktop v4.33 中将提供 Docker Engine 的固定版本,以解决这些安全问题。
以下是 Docker 维护者提出的补救步骤:
- 更新 Docker 引擎:
- 如果您运行的是受影响的版本,请更新到最新的修补版本。
- 如果无法立即更新,则采取缓解措施:
- 避免使用 AuthZ 插件。
- 将 Docker API 的访问限制为受信任方,遵循最小权限原则。
- 更新 Docker Desktop:
- 如果使用受影响的版本,请在发布后更新到 Docker Desktop 4.33。
- 确保未使用 AuthZ 插件,并且不要在没有保护的情况下通过 TCP 公开 Docker API。
- Docker Business 订阅者可以使用设置管理来强制实施安全设置。
发表评论
您还未登录,请先登录。
登录