CVE-2024-48921
published 2024-10-29CVE-2024-48921: Kyverno is a policy engine designed for Kubernetes. A kyverno ClusterPolicy, ie. "disallow-privileged-containers," can be overridden by the creation of a…
PriorityP411low2.7CVSS 3.1
AVNACLPRHUINSUCNILAN
EPSS
0.55%
42.0th percentile
Kyverno is a policy engine designed for Kubernetes. A kyverno ClusterPolicy, ie. "disallow-privileged-containers," can be overridden by the creation of a PolicyException in a random namespace. By design, PolicyExceptions are consumed from any namespace. Administrators may not recognize that this allows users with privileges to non-kyverno namespaces to create exceptions. This vulnerability is fixed in 1.13.0.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| github.com | kyverno_kyverno | >= 0 < 1.13.0 | 1.13.0 |
| kyverno | kyverno | < 1.13.0 | 1.13.0 |
| nirmata | kyverno | < 1.13.0 | 1.13.0 |
CVSS provenance
nvdv3.12.7LOWCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N
nvdv4.08.7HIGHCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Kyverno's PolicyException objects can be created in any namespace by default in github.com/kyverno/kyverno
osv·2024-10-30
CVE-2024-48921 Kyverno's PolicyException objects can be created in any namespace by default in github.com/kyverno/kyverno
Kyverno's PolicyException objects can be created in any namespace by default in github.com/kyverno/kyverno
Kyverno's PolicyException objects can be created in any namespace by default in github.com/kyverno/kyverno
OSV
Kyverno's PolicyException objects can be created in any namespace by default
osv·2024-10-29
CVE-2024-48921 [HIGH] Kyverno's PolicyException objects can be created in any namespace by default
Kyverno's PolicyException objects can be created in any namespace by default
### Summary
A kyverno ClusterPolicy, ie. "disallow-privileged-containers," can be overridden by the creation of a PolicyException in a random namespace.
### Details
By design, PolicyExceptions are consumed from any namespace. Administrators may not recognize that this allows users with privileges to non-kyverno namespaces to create exceptions.
### PoC
1. Administrator creates "disallow-privileged-containers" ClusterPolicy that applies to resources in the namespace "ubuntu-restricted"
2. Cluster user creates a PolicyException object for "disallow-privileged-containers" in namespace "ubuntu-restricted"
3. Cluster user creates a pod with a privileged container in "ubuntu-restricted"
4. Cluster user escalates to ro
GHSA
Kyverno's PolicyException objects can be created in any namespace by default
ghsa·2024-10-29
CVE-2024-48921 [HIGH] CWE-285 Kyverno's PolicyException objects can be created in any namespace by default
Kyverno's PolicyException objects can be created in any namespace by default
### Summary
A kyverno ClusterPolicy, ie. "disallow-privileged-containers," can be overridden by the creation of a PolicyException in a random namespace.
### Details
By design, PolicyExceptions are consumed from any namespace. Administrators may not recognize that this allows users with privileges to non-kyverno namespaces to create exceptions.
### PoC
1. Administrator creates "disallow-privileged-containers" ClusterPolicy that applies to resources in the namespace "ubuntu-restricted"
2. Cluster user creates a PolicyException object for "disallow-privileged-containers" in namespace "ubuntu-restricted"
3. Cluster user creates a pod with a privileged container in "ubuntu-restricted"
4. Cluster user escalates to ro
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2024-10-29
Published