ISTIO-SECURITY-2021-007
Istio 包含一个可远程利用的漏洞,可以从不同的命名空间访问 Gateway 和 DestinationRule credentialName 字段中指定的身份凭据。
安全漏洞详情 | |
---|---|
CVE(s) | CVE-2021-34824 |
CVSS 影响评分 | 9.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L |
受影响的版本 | All 1.8 patch releases 1.9.0 to 1.9.5 1.10.0 to 1.10.1 |
问题
Istio Gateway
和 DestinationRule
可以通过 credentialName
配置从 Kubernetes 密钥中加载私钥和证书。
对于 Istio 1.8 及更高版本,密钥通过 XDS API 从 Istiod 传送到网关或工作负载。
在上述方法中,网关或工作负载部署应该只能访问存储在其命名空间内的 Kubernetes 密钥中的凭证(TLS 证书和私钥)。 但是,Istiod 中的一个错误允许授权客户端访问和检索缓存在 Istiod 中的任何 TLS 证书和私钥。
对我的影响?
如果您的集群符合以下所有条件,您的集群就会受到影响:
- 集群使用的 Istio 版本为 Istio 1.10.0 到 1.10.1、Istio 1.9.0 到 1.9.5 或 Istio 1.8.x。
- 在集群中定义了带有指定
credentialName
字段的Gateways
或DestinationRules
。 - 集群没有指定 Istiod 的
PILOT ENABLE XDS CACHE=false
标签。
防范
将您的集群更新到支持的最新版本:
- Istio 1.9.6 或更高版本,如果使用 1.9.x
- Istio 1.10.2 或更高版本,如果使用 1.10.x
- 您的云提供商指定的补丁版本
如果升级不可行,可以通过禁用 Istiod 缓存来缓解此漏洞。
通过设置 Istiod 环境变量 PILOT ENABLE XDS CACHE=false
禁用缓存。
系统和 Istiod 的性能可能会受到影响,因为这禁用了 XDS 缓存。
鸣谢
我们要感谢 Sopra Banking Software
(Nishant Virmani
, Stephane Mercier
和 Antonin Nycz
)以及 John Howard(谷歌)报告了这个问题。