Service accounts can see namespaces of other tenants in capsule-proxy
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-200.
Summary
capsule-proxy is a reverse proxy for Capsule kubernetes multi-tenancy framework. 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. For example consider two tenants `solar` and `wind`. 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`. 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`) and 2. Tenant owners are ServiceAccount, with the same resource name, but in different Namespaces. This vulnerability doesn't allow any privilege escalation on the outer tenant Namespace-scoped resources, since the Kubernetes RBAC is enforcing this. This issue has been addressed in version 0.4.5. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| projectcapsule | capsule-proxy | before 0.4.5 | 0.4.5 | Patch available | CNA |
| — | github.com/projectcapsule/capsule (Go) | before 0.4.5 | 0.4.5 | Patch available | GHSA-6758-979h-249x |
| — | github.com/projectcapsule/capsule-proxy (Go) | before 0.4.5 | 0.4.5 | Patch available | GHSA-6758-979h-249x |
- capsule-proxy Vendorprojectcapsule Affected before 0.4.5 Fixed in 0.4.5 Patch available CNA
- github.com/projectcapsule/capsule (Go) Vendor— Affected before 0.4.5 Fixed in 0.4.5 Patch available GHSA-6758-979h-249x
- github.com/projectcapsule/capsule-proxy (Go) Vendor— Affected before 0.4.5 Fixed in 0.4.5 Patch available GHSA-6758-979h-249x
Remediation
- Fix · CNA capsule-proxy (projectcapsule) Fixed in 0.4.5
- Fix · GHSA-6758-979h-249x github.com/projectcapsule/capsule (Go) Fixed in 0.4.5 Advisory →
- Fix · GHSA-6758-979h-249x github.com/projectcapsule/capsule-proxy (Go) Fixed in 0.4.5 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-46254
- 2026-10-03 Alias added: GHSA-6758-979h-249x
References
Patch 1
Advisory 2
More projectcapsule vulnerabilities
- TI-2024-26614 Capsule tenant owner with "patch namespace" permission can hijack system namespaces CVSS 3.1HIGH 8.8
- TI-2025-34881 Capsule tenant owners with "patch namespace" permission can hijack system namespaces label CVSS 3.1CRITICAL 9.1
- TI-2026-18364 Capsule TenantResource RawItems Cluster-Scoped Resource Creation Vulnerability CVSS 4.0MEDIUM 6.9
- TI-2026-44157 Capsule: Tenant owner bypasses Capsule's forbidden namespace/service/node label and annotation enforcement CVSS 3.1HIGH 7.1
- TI-2026-46911 Improper input validation in projectcapsule capsule CVSS 3.1MEDIUM 6.8
- TI-2026-44232 Capsule: Malformed ForbiddenAnnotations.Regex can bypass Tenant validation and trigger namespace admission panic CVSS 3.1MEDIUM 6.8
Sources
- CVE-2023-46254 · CVE Program
- CVE-2023-46254 · NVD
- FIRST EPSS
- GHSA-6758-979h-249x · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences