Skip to content

Privileged Escalation in Kubernetes Gateway API

Moderate
howardjohn published GHSA-mq8f-9446-c28r Jan 19, 2022

Package

gomod istio.io/istio (Go)

Affected versions

1.12.0-1.12.1

Patched versions

1.12.2

Description

Impact

Istio version 1.12.0 and 1.12.1 are vulnerable to a privilege escalation attack. Users who have CREATE permission for gateways.gateway.networking.k8s.io objects can escalate this privilege to create other resources that they may not have access to, such as Pod.

Am I Impacted?

This vulnerability impacts only an Alpha level feature, the Kubernetes Gateway API. This is not the same as the Istio Gateway type (gateways.networking.istio.io), which is not vulnerable.

Your cluster may be impacted if:

  • You have the Kubernetes Gateway CRD installed. This can be detected with kubectl get crd gateways.gateway.networking.k8s.io.
  • You have not set the PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER=false environment variable in Istiod (this is defaulted to true).
  • Untrusted users have CREATE permissions for gateways.gateway.networking.k8s.io objects.

Patches

Istio 1.12.2+ are patched.

Older Istio versions are not impacted.

Workarounds

If you are unable to upgrade, any of the following will prevent this vulnerability:

  • Remove the gateways.gateway.networking.k8s.io CustomResourceDefinition.
  • Set PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER=false environment variable in Istiod.
  • Remove CREATE permissions for gateways.gateway.networking.k8s.io objects from untrusted users.

For more information

If you have any questions or comments about this advisory, please email us at istio-security-vulnerability-reports@googlegroups.com

Severity

Moderate
4.7
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L

CVE ID

CVE-2022-21701

Weaknesses

No CWEs

Credits