Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project admin lacking manage-members
-
DeliveryEdit Project.spec.members adding Group/ServiceAccount
-
ExploitAdmission plugin skips non-User subject check
-
ExecutionBroad project access granted
-
ImpactRead Shoots, Secrets, cloud credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated actor holding the project-administrator role on a Gardener Project who has NOT been granted the manage-members permission (the exact separation-of-duties this plugin is meant to enforce). The actor must be able to submit an update to Project.spec.members via the Gardener API adding a Group or ServiceAccount subject (e.g. system:authenticated) - the flaw is that the customverbauthorizer admission plugin's mustCheckProjectMembers/findHumanUsersWithRoles logic only diffs User subjects and ignores Group and ServiceAccount changes. Limiting factors: exploitation is confined to Gardener versions prior to 1.142.6 / 1.143.3 / 1.144.2 / 1.145.0, requires pre-existing project-admin standing (no anonymous or low-privilege path), and is scoped to the attacker's own project rather than the whole landscape. |
| Impact | This is a genuine but privilege-gated authorization flaw (CWE-863), not a critical remote break. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N correctly reflects that exploitation is trivial once the precondition is met (AC:L, UI:N) but requires elevated standing - PR:H - because the actor must already be a project administrator on a Gardener Project. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so exploitation status is: no public exploit identified at time of analysis. No SSVC decision record was supplied. There is no signal conflict on exploitability, but there is a signal tension on impact: the vendor scored confidentiality as C:L, yet the description states the resulting access 'can include Shoots, Secrets, and cloud provider credentials,' which reads closer to C:H - verify impact scoping with the Gardener advisory. Net: this is a legitimate least-privilege/segregation-of-duties defect that matters to Gardener operators and their tenants, but it is a lateral privilege-escalation issue requiring an existing malicious or compromised project admin, not an internet-facing pre-auth threat, so it belongs in routine patch cycles rather than emergency response for most environments. |
| Exploit ScenarioDerived | A user who holds the project-administrator role but was deliberately denied the manage-members permission edits Project.spec.members and adds a Group subject such as system:authenticated (or an arbitrary ServiceAccount) with a broad role. Because the customverbauthorizer admission plugin only diffs User subjects and ignores Group/ServiceAccount changes, the addition is accepted, silently granting wide project access - including to Shoots, Secrets, and cloud provider credentials. No public proof-of-concept is available, but the code fix and test changes in PR #15080 concretely confirm the mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Authenticated project administrators in Gardener can escalate their own project privileges by adding Group or ServiceAccount subjects to Project.spec.members, because the customverbauthorizer admission plugin's manage-members check only diffs User subjects and ignores Group and ServiceAccount entries. An actor holding the project-admin role but deliberately denied the manage-members permission can add the system:authenticated Group or an arbitrary ServiceAccount and thereby grant broad project access, including to Shoots, Secrets, and cloud provider credentials. All Gardener releases prior to 1.142.6, 1.143.3, 1.144.2, and 1.145.0 are affected; there is no public exploit code identified at time of analysis, and the issue is fixed in the versions listed above.
RemediationAI
Upgrade Gardener to 1.142.6, 1.143.3, 1.144.2, or 1.145.0 or later - the vendor-released patch versions - applying the backport appropriate to the maintenance line in use; the fix reclassifies Group and ServiceAccount subjects so they are included in the manage-members diff (commit 63751db97dca6cc5ee5f966d4963415de6ae5545, PR #15080, advisory https://github.com/gardener/gardener/security/advisories/GHSA-gfjv-gqf2-c888). Because no upstream-only code workaround is documented, the practical compensating controls until the upgrade lands are: audit every Project.spec.members list in the landscape for Group subjects (particularly system:authenticated) or ServiceAccount subjects and remove any that should not be there, noting that removing a Group member immediately revokes project access for all identities in that group; review and tighten RBAC so that the ability to update Project resources is restricted to the smallest possible set of operators, accepting that this is only a partial mitigation since the flaw is triggered through legitimate project-admin update rights; and enable/retain API server audit logging on Project update calls, filtered on spec.members changes adding Group or ServiceAccount subjects, to detect attempted abuse. Rotation of Secrets and cloud provider credentials reachable from affected projects is advisable where an unpatched landscape allowed untrusted project administrators to add membership, since the granted access could expose those materials.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Gardener runs an aggregated Kubernetes API server that ships admission plugins, one of which is customverbauthorizer, responsible for enforcing fine-grained, non-RBAC authorization rules on Gardener custom resources. The relevant hook, mustCheckProjectMembers, enforces the manage-members permission: any change to Project.spec.members must be authorized by a user who holds that permission, creating a separation of duties between ordinary project administrators and those allowed to alter project membership. RBAC subjects in Kubernetes come in three kinds - User, Group, and ServiceAccount - and the vulnerable implementation (findHumanUsersWithRoles/isHumanUser) built its before/after diff only from subjects with Kind=User that did not carry the system:serviceaccount: username prefix. Group subjects and explicit ServiceAccount subjects were therefore invisible to the diff, so adding them produced an empty change set and the manage-members authorization check passed trivially. This is CWE-863 (Incorrect Authorization): the authorization routine's subject model was narrower than the resource's actual subject model. The fix in PR #15080 renames the helper to findNonServiceAccountsWithRoles and introduces isServiceAccountSubject, which now excludes only genuine service accounts (Kind=ServiceAccount with an empty APIGroup, or a User-kind subject named with the serviceaccount.ServiceAccountUsernamePrefix in the rbac.authorization.k8s.io group); Group subjects - including system:authenticated - and everything else now flow through the diff and require manage-members, matching the documented project access-management model.
Know when Gardener gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N
Project-admin standing needed so PR:H; API-reachable and deterministic so AV:N/AC:L; C:H raised over vendor C:L because granted access exposes Secrets and cloud credentials, I:H for unauthorized access grant.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Gardener implements the automated management and operation of Kubernetes clusters as a service. Prior to 1.142.6, 1.143.3, 1.144.2, and 1.145.0, the customverbauthorizer admission plugin's mustCheckProjectMembers manage-members check compares changes to User subjects but does not account for Group or ServiceAccount subjects in Project.spec.members. A project administrator who lacks manage-members permission can add arbitrary Group or ServiceAccount subjects, including the system:authenticated Group, and thereby grant broad project access. The resulting access can include Shoots, Secrets, and cloud provider credentials. This issue is fixed in versions 1.142.6, 1.143.3, 1.144.2, and 1.145.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Following the Gardener architecture, the Kubernetes apiserver of a Gardener managed shoot cluster resides in the corresp
In Gardener before 0.20.0, incorrect access control in seed clusters allows information disclosure by sending HTTP GET r
Gardener implements the automated management and operation of Kubernetes clusters as a service. Rated critical severity
Gardener implements the automated management and operation of Kubernetes clusters as a service. Rated critical severity
EUVD-2026-84821
GHSA-gfjv-gqf2-c888
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB