GHSA-6758-979h-249x
capsule-proxy service discloses Namespaces of colliding tenants to owners of different tenants with the same ServiceAccount name
Quick fix
GHSA-6758-979h-249x — github.com/projectcapsule/capsule: upgrade to the fixed version with the command below.
go get github.com/projectcapsule/capsule@v0.4.5Details
### 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.
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 0.4.5go get github.com/projectcapsule/capsule@v0.4.50Fixed in: 0.4.5go get github.com/projectcapsule/capsule-proxy@v0.4.5References
- https://github.com/projectcapsule/capsule-proxy/security/advisories/GHSA-6758-979h-249x[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2023-46254[ADVISORY]
- https://github.com/projectcapsule/capsule-proxy/commit/615202f7b02eaec7681336bd63daed1f39ae00c5[WEB]
- https://github.com/projectcapsule/capsule-proxy[PACKAGE]
- https://github.com/projectcapsule/capsule-proxy/releases/tag/v0.4.5[WEB]