kcp's impersonation allows access to global administrative groups
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-285.
Summary
### Impact [Impersonation](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#user-impersonation) is a feature of the Kubernetes API, allowing to override user information. As downstream project, kcp inherits this feature. As per the linked documentation a specific level of privilege (usually assigned to cluster admins) is required for impersonation. The vulnerability in kcp affects kcp installations in which users are granted the `cluster-admin` ClusterRole (or comparably high permission levels that grant impersonation access; the verb in question is `impersonate`) within their respective workspaces. As kcp builds around self-service confined within workspaces, most installations would likely grant such workspace access to their users. Such users can impersonate special global administrative groups, which circumvent parts of the authorizer chains, e.g. [maximal permission policies](https://docs.kcp.io/kcp/v0.26/concepts/apis/exporting-apis/#maximal-permission-policy). ### Patches The problem has been patched in #3206 and is available in kcp 0.26.1 and higher. ### Workarounds - Not assigning the `cluster-admin` role (or any other role granting blanket impersonation permissions) to users. - A reverse proxy between users and kcp to check for the `Impersonate-Group` header and reject requests that impersonate global administrative groups. ### References See the pull request (#3206).
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 |
|---|---|---|---|---|---|
| — | github.com/kcp-dev/kcp (Go) | before 0.26.1 | 0.26.1 | Patch available | GHSA-c7xh-gjv4-4jgv |
- github.com/kcp-dev/kcp (Go) Vendor— Affected before 0.26.1 Fixed in 0.26.1 Patch available GHSA-c7xh-gjv4-4jgv
Remediation
- Fix · GHSA-c7xh-gjv4-4jgv github.com/kcp-dev/kcp (Go) Fixed in 0.26.1 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-c7xh-gjv4-4jgv
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences