GitHub Advisoryadvisory · Go

GHSA-6758-979h-249x capsule-proxy service discloses Namespaces of colliding tenants to owners of different tenants with the same ServiceAccount name

MEDIUM Published 2023-11-07 Modified 2023-11-07 Official page ↗
Aliases
CVE-2023-46254
Ecosystem
Go
Packages
github.com/projectcapsule/capsule, github.com/projectcapsule/capsule-proxy
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Weaknesses
CWE-200
Reviewed
2023-11-07

Affected packages

• Go github.com/projectcapsule/capsule: < 0.4.5 → fixed in 0.4.5 • Go github.com/projectcapsule/capsule-proxy: < 0.4.5 → fixed in 0.4.5

Description

Summary A bug in the RoleBinding reflector used by `capsule-proxy` gives ServiceAccount tenant owners the right to list Namespaces of other tenants backed by the same owner kind and name. Details • Tenant `solar`, owned by a ServiceAccount named `tenant-owner` in the Namespace `solar` • Tenant `wind`, owned by a ServiceAccount named `tenant-owner` in the Namespace `wind` > Please, notice the same ServiceAccount name, although in different namespaces. The Tenant owner `solar` would be able to list the namespaces of the Tenant `wind` and vice-versa, although this is not correct. The bug introduces an exfiltration vulnerability since allows the listing of Namespace resources of other Tenants, although just in some specific conditions: 1. `capsule-proxy` runs with the `--disable-caching=false` (default value: `false`) 2. Tenant owners are ServiceAccount, with the same resource name, but in different Namespaces. The CVE doesn't allow any privilege escalation on the outer tenant Namespace-scoped resources, since the Kubernetes RBAC is enforcing this.

Related

Alias · CVE (1)

  • CVE-2023-46254 capsule-proxy is a reverse proxy for Capsule kubernetes multi-tenancy framework. vulnerability

Weakness · CWE (1)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness

References