Every CVE Search/ Get API key

CVE-2024-42480

Kamaji's RBAC Roles for `etcd` are not disjunct

8.1 High

Kamaji is the Hosted Control Plane Manager for Kubernetes. In versions 1.0.0 and earlier, Kamaji uses an "open at the top" range definition in RBAC for etcd roles leading to some TCPs API servers being able to read, write, and delete the data of other control planes. This vulnerability is fixed in edge-24.8.2.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.62%Up 0.6 points since Aug 13, 2024
90%50%10%1%

What each source reports

CVE List Score used 8.1

Kamaji's RBAC Roles for `etcd` are not disjunct

Kamaji is the Hosted Control Plane Manager for Kubernetes. In versions 1.0.0 and earlier, Kamaji uses an "open at the top" range definition in RBAC for etcd roles leading to some TCPs API servers being able to read, write, and delete the data of other control planes. This vulnerability is fixed in edge-24.8.2.

Record
CVE-2024-42480
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-284
Updated
2026-11-02
EUVDEUVD-2024-2517 8.1

Kamaji is the Hosted Control Plane Manager for Kubernetes. In versions 1.0.0 and earlier, Kamaji uses an "open at the top" range definition in RBAC for etcd roles leading to some TCPs API servers being able to read, write, and delete the data of other control planes. This vulnerability is fixed in edge-24.8.2.

Record
EUVD-2024-2517
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-6r4j-4rjc-8vw5 9.3

RBAC Roles for `etcd` created by Kamaji are not disjunct

Summary

Using an "open at the top" range definition in RBAC for etcd roles leads to some TCPs API servers being able to read, write and delete the data of other control planes.

Details

The problematic code is this: https://github.com/clastix/kamaji/blob/8cdc6191242f80d120c46b166e2102d27568225a/internal/datastore/etcd.go#L19-L24

The range created by this RBAC setup code looks like this:

etcdctl role get example
Role example
KV Read:
	[/example/, \0)
KV Write:
	[/example/, \0)

The range end \0 means "everything that comes after" in etcd, so potentially all the key prefixes of controlplanes with a name that comes after "example" when sorting lexically (e.g. example1, examplf, all the way to zzzzzzz if you will).

PoC

  1. Create two TCP in the same Namespace
  2. Scale Kamaji to zero to avoid reconciliations
  3. change the Kubernetes API Server --etcd-prefix flag value to point to the other TCP datastore key
  4. wait it for get it up and running
  5. use kubectl and will notice you're reading and writing data of another Tenant

Impact

Full control over other TCPs data, if you are able to obtain the name of other TCPs that use the same datastore and are able to obtain the user certificates used by your control plane (or you are able to configure the kube-apiserver Deployment, as shown in the PoC).

Record
GHSA-6r4j-4rjc-8vw5
CVSS 4.0
9.3 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-284
Updated
2026-11-02
NVD 8.1

Kamaji is the Hosted Control Plane Manager for Kubernetes. In versions 1.0.0 and earlier, Kamaji uses an "open at the top" range definition in RBAC for etcd roles leading to some TCPs API servers being able to read, write, and delete the data of other control planes. This vulnerability is fixed in edge-24.8.2.

Record
CVE-2024-42480
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
CVSS 3.1
9.9 CriticalCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-284
Updated
2026-11-02
OSV 8.1

Kamaji's RBAC Roles for `etcd` are not disjunct

Kamaji is the Hosted Control Plane Manager for Kubernetes. In versions 1.0.0 and earlier, Kamaji uses an "open at the top" range definition in RBAC for etcd roles leading to some TCPs API servers being able to read, write, and delete the data of other control planes. This vulnerability is fixed in edge-24.8.2.

Record
CVE-2024-42480
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-284
Updated
2026-11-02
OSVGHSA-6r4j-4rjc-8vw5 9.3

RBAC Roles for `etcd` created by Kamaji are not disjunct

Summary

Using an "open at the top" range definition in RBAC for etcd roles leads to some TCPs API servers being able to read, write and delete the data of other control planes.

Details

The problematic code is this: https://github.com/clastix/kamaji/blob/8cdc6191242f80d120c46b166e2102d27568225a/internal/datastore/etcd.go#L19-L24

The range created by this RBAC setup code looks like this:

etcdctl role get example
Role example
KV Read:
	[/example/, \0)
KV Write:
	[/example/, \0)

The range end \0 means "everything that comes after" in etcd, so potentially all the key prefixes of controlplanes with a name that comes after "example" when sorting lexically (e.g. example1, examplf, all the way to zzzzzzz if you will).

PoC

  1. Create two TCP in the same Namespace
  2. Scale Kamaji to zero to avoid reconciliations
  3. change the Kubernetes API Server --etcd-prefix flag value to point to the other TCP datastore key
  4. wait it for get it up and running
  5. use kubectl and will notice you're reading and writing data of another Tenant

Impact

Full control over other TCPs data, if you are able to obtain the name of other TCPs that use the same datastore and are able to obtain the user certificates used by your control plane (or you are able to configure the kube-apiserver Deployment, as shown in the PoC).

Record
GHSA-6r4j-4rjc-8vw5
CVSS 4.0
9.3 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-284
Updated
2026-11-02
OSVGO-2024-3063 No score

RBAC Roles for `etcd` created by Kamaji are not disjunct in github.com/clastix/kamaji

RBAC Roles for etcd created by Kamaji are not disjunct in github.com/clastix/kamaji

Record
GO-2024-3063
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/clastix/kamaji
Go
through 1.0.0 None known
github.com/clastix/kamaji
Go
All versions None known

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-42480 is a high vulnerability (CVSS 8.1) in Clastix Kamaji, published August 12, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.62%, the 50th percentile. No source names a fixed version.

References

MoveEnter Open