CVE-2023-46254 json
Service accounts can see namespaces of other tenants in capsule-proxy
published 2023-11-06 3 y ago modified 2026-09-10 1 mo ago also GHSA-6758-979h-249x , EUVD-2023-2895
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 43%
- public exploits
- 0
- none known
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.
Patch / fix
- go github.com/projectcapsule/capsule 0.4.5
- go github.com/projectcapsule/capsule-proxy 0.4.5
- clastix capsule 0.4.5
- clastix capsule-proxy 0.4.5
Exploit prediction
0.50% chance of exploitation in the next 30 days, higher than 43% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| NVD | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/projectcapsule/capsule | <0.4.5 |
0.4.5 |
| go | github.com/projectcapsule/capsule-proxy | <0.4.5 |
0.4.5 |
Affected products
- projectcapsule capsule-proxy
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/projectcapsule/capsule-proxy/commit/615202f7b02eaec7681336bd63daed1f39ae00c5
web, patch
-
github.com
/projectcapsule/capsule-proxy/security/advisories/GHSA-6758-979h-249x
web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2023-46254
advisory
-
github.com
/projectcapsule/capsule-proxy
package
-
github.com
/projectcapsule/capsule-proxy/releases/tag/v0.4.5
web
Sources
- CVE List CVE-2023-46254
- GitHub Advisory GHSA-6758-979h-249x
- NVD CVE-2023-46254
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.