1.2.2.18. Red Hat OpenShift Service Mesh 2.0.7.1 的新功能
此 Red Hat OpenShift Service Mesh 发行版本解决了 CVE 报告的安全漏洞问题。
1.2.2.18.1. Red Hat OpenShift Service Mesh 处理 URI 片段的方式改变
Red Hat OpenShift Service Mesh 包含一个可远程利用的漏洞 CVE-2021-39156,其中 HTTP 请求带有片段(以 # 字符开头的 URI 末尾的一个部分),您可以绕过 Istio URI 基于路径的授权策略。例如,Istio 授权策略拒绝发送到 URI 路径 /user/profile
的请求。在存在安全漏洞的版本中,带有 URI 路径 /user/profile#section1
的请求绕过拒绝策略并路由到后端(通过规范的 URI path /user/profile%23section1
),可能会导致安全事件。
如果您使用带有 DENY 操作和 operation.paths
的授权策略,或者 ALLOW 操作和 operation.notPaths
,则会受到此漏洞的影响。
在这个版本中,在授权和路由前会删除请求的 URI 片段部分。这可以防止其 URI 中带有片段的请求绕过基于 URI 且没有片段部分的授权策略。
要从缓解措施中的新行为中选择,将保留 URI 的片段部分。您可以将 ServiceMeshControlPlane
配置为保留 URI 片段。
如前文所述,禁用新行为将对路径进行规范化,并被视为不安全。在选择保留 URI 片段之前,确保您已将这些内容放入任何安全策略中。
ServiceMeshControlPlane
修改示例
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic spec: techPreview: meshConfig: defaultConfig: proxyMetadata: HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED: "false"