GitHub Advisoryadvisory · Go

GHSA-qjvc-p88j-j9rm Kyverno's PolicyException objects can be created in any namespace by default

HIGH Published 2024-10-29 Modified 2024-11-07 Official page ↗
Aliases
CVE-2024-48921
Ecosystem
Go
Packages
github.com/kyverno/kyverno
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weaknesses
CWE-285, CWE-863
Reviewed
2024-10-29

Affected packages

• Go github.com/kyverno/kyverno: < 1.13.0 → fixed in 1.13.0

Description

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 root on the node from the privileged container Impact Administrators attempting to enforce cluster security through kyverno policies, but that allow less privileged users to create resources

Related

Alias · CVE (1)

  • CVE-2024-48921 Kyverno is a policy engine designed for Kubernetes. vulnerability

Weakness · CWE (2)

  • CWE-285 Improper Authorization weakness
  • CWE-863 Incorrect Authorization weakness

References