Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain tenant provisioning access
-
DeliveryCraft TCP namespace/name normalizing to victim's
-
ExploitWebhook assigns colliding schema/user/etcd-prefix
-
ExecutionAttacker control plane shares victim datastore
-
ImpactRead, modify, or destroy victim cluster data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the ability to create a TenantControlPlane resource (PR:L) whose namespace-and-name combination, after Kamaji's dash-to-underscore normalization in GetDefaultDatastoreSchema()/GetDefaultDatastoreUsername(), collides with a target tenant's normalized identifier - for example a tenant using a dash where another uses an underscore in the corresponding position. It further requires a shared datastore backend across tenants so the colliding schema/user/etcd-prefix maps to the same physical storage. Limiting factors: high attack complexity (a usable normalized collision must already exist or be engineered, hence AC:H), the attacker must be authorized to provision tenants, and deployments that enforce strict/unique tenant naming or give each tenant a dedicated datastore are not exploitable. This is not remote-unauthenticated against default configs - it is a multi-tenant isolation break contingent on naming collisions. |
| Impact | The CVSS 3.1 base score is 8.5 (High) with vector AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H: network reachable, but high attack complexity and low privileges required, with a scope change reflecting that impact crosses the tenant isolation boundary into another tenant's data (full C/I/A loss of the victim cluster). The AC:H rating is well-justified - an attacker must control or induce a tenant whose namespace/name normalizes to collide with a target's, which is opportunistic rather than trivially reproducible on demand, and PR:L reflects that the actor must be able to provision a TenantControlPlane. No EPSS score was provided in the input, there is no CISA KEV listing, and no public POC is referenced (references are limited to the vendor advisory and the fix commit), so this is a real but not mass-exploitable priority: highest urgency for multi-tenant Kamaji operators offering self-service tenant naming, lower for single-operator deployments with tightly controlled naming conventions. The signals are internally consistent - no contradiction between the CVSS vector and the description. |
| Exploit ScenarioDerived | In a multi-tenant Kamaji platform where customers self-select cluster names, an attacker provisions a TenantControlPlane whose namespace/name normalizes (dashes-to-underscores) to the same identifier as a victim tenant, causing Kamaji to assign both the same datastore schema, DB user, and etcd key prefix. The attacker's control plane then reads and writes the victim's shared etcd/kine state, letting it exfiltrate secrets, tamper with workloads, or wipe the victim cluster's data. No public POC is referenced, and the collision dependency (AC:H) makes this most practical where naming is unconstrained. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 30, 2026
Cross-tenant data compromise in Clastix Kamaji (Hosted Control Plane Manager for Kubernetes) before 26.7.4-edge lets one tenant read, modify, or destroy another tenant's control-plane state. Kamaji's defaulting webhook derived each TenantControlPlane's datastore schema, database user, and etcd key prefix from a lossy namespace-and-name normalization that replaced dashes with underscores, so two tenants whose names normalize to the same string (e.g. 'a-b' vs 'a_b') were assigned identical datastore identifiers and silently shared backing storage. No public exploit identified at time of analysis and it is not in CISA KEV, but the root cause is confirmed by the vendor advisory (GHSA-4f3f-65vx-r34f) and the fixing commit, which now uses the immutable resource UID.
RemediationAI
Vendor-released patch: 26.7.4-edge - upgrade Kamaji to 26.7.4-edge or later, which derives datastore schema and username from the immutable TenantControlPlane UID instead of the lossy namespace/name normalization (see GHSA-4f3f-65vx-r34f). Because the upgrade changes the identifier scheme, validate the vendor's migration guidance for existing tenants whose schemas/users were provisioned under the old naming before cutover. If immediate patching is not possible, enforce a tenant naming policy (e.g. via admission control) that removes dash/underscore ambiguity - disallow underscores in TenantControlPlane names/namespaces or require a unique suffix so no two normalized identifiers can collide; the trade-off is operational friction and that it does not retroactively fix already-collided tenants. Additionally restrict who can create TenantControlPlane resources and audit existing tenants for shared schemas/usernames both before and after upgrading. Advisory: https://github.com/clastix/kamaji/security/advisories/GHSA-4f3f-65vx-r34f.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kamaji runs Kubernetes control planes as pods and stores each tenant cluster's etcd/kine state in a shared datastore (MySQL, PostgreSQL, or etcd), partitioned per tenant by a schema/database, a database user, and an etcd key prefix. Those identifiers were generated by GetDefaultDatastoreSchema() and GetDefaultDatastoreUsername() via normalizeNamespaceName(), which built '<namespace>_<name>' and then ran strings.ReplaceAll(..., "-", "_") to satisfy PostgreSQL identifier rules (per Kamaji issue #328). This transformation is non-injective (lossy): distinct (namespace, name) pairs collapse to the same normalized string whenever they differ only in dash-vs-underscore, producing an identifier collision. The flaw maps to CWE-284 (Improper Access Control) - the tenant-isolation boundary is keyed on a value that is not guaranteed unique. The fix replaces the derivation with string(in.UID), the Kubernetes-assigned globally unique object UID, and additionally quotes generated identifiers in MySQL/PostgreSQL DDL (backticks and double-quotes). Affected CPE: cpe:2.3:a:clastix:kamaji:*.
Know when Kamaji 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:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Attacker needs tenant-creation rights (PR:L) plus a usable normalized name collision and shared datastore (AC:H); the isolation break crosses tenants (S:C) with full C/I/A loss of the victim cluster.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Kamaji is the Hosted Control Plane Manager for Kubernetes. Prior to 26.7.4-edge, Kamaji derives a TenantControlPlane datastore schema, database user, and etcd key prefix from a lossy namespace-and-name normalization in GetDefaultDatastoreSchema() and GetDefaultDatastoreUsername(), allowing distinct tenants with colliding normalized identifiers to share control-plane state and read, modify, or destroy another tenant's Kubernetes data. This issue is fixed in version 26.7.4-edge.
Articles & Coverage 1
Executive ViewAI
Clastix Kamaji, a hosted control plane manager for Kubernetes, contains a tenant isolation bypass that enables unauthorized access to other organizations' cluster configurations in multi-tenant deployments. Exploitation of this vulnerability could allow adversaries to exfiltrate sensitive infrastructure data, disrupt workloads, or sabotage cluster operations across tenant boundaries.
Apply vendor patch.
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.
Kamaji is the Hosted Control Plane Manager for Kubernetes. Rated critical severity (CVSS 9.9), this vulnerability is rem
SQL injection via unescaped identifier interpolation in Kamaji's PostgreSQL and MySQL datastore drivers exposes the shar
EUVD-2026-51311
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB