ISTIO-SECURITY-2020-009

TCP 服务的授权策略news/security/istio-security-2020-004/index.md中用于 Principals /名称空间的通配符后缀其 Envoy 配置不正确。

Aug 11, 2020

安全漏洞详情
CVE(s)CVE-2020-16844
CVSS 影响评分6.8 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
受影响的版本1.5 to 1.5.8
1.6 to 1.6.7

Istio 容易受到新发现隐患的攻击:

Istio 用户以下列方式容易受到此漏洞的影响:

如果用户具有类似于以下内容的授权

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
 name: foo
 namespace: foo
spec:
 action: DENY
 rules:
 - from:
   - source:
       principals:
       - */ns/ns1/sa/foo # indicating any trust domain, ns1 namespace, foo svc account

Istio 将 Principal (和 source.principal)字段转换为 Envoy 级别的字符串匹配。

stringMatch:
  suffix: spiffe:///ns/ns1/sa/foo

它将不匹配任何合法的调用者,因为它错误的包含了 spiffe:// 字符串。正确的字符串匹配应该是:

stringMatch:
  regex: spiffe://.*/ns/ns1/sa/foo

AuthorizationPolicy 中的前缀和精确匹配不受影响,它们中的 ALLOW 操作也一样;HTTP 也不受影响。

防范

漏洞报告

希望大家遵循漏洞报告步骤,以报告任何可能会导致安全漏洞的 bug。