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