ghsa-qjvc-p88j-j9rm
Vulnerability from github
Published
2024-10-29 14:44
Modified
2024-11-07 19:23
Severity ?
7.5 (High) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
8.7 (High) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
8.7 (High) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Summary
Kyverno's PolicyException objects can be created in any namespace by default
Details
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
- Administrator creates "disallow-privileged-containers" ClusterPolicy that applies to resources in the namespace "ubuntu-restricted"
- Cluster user creates a PolicyException object for "disallow-privileged-containers" in namespace "ubuntu-restricted"
- Cluster user creates a pod with a privileged container in "ubuntu-restricted"
- 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
{ "affected": [ { "package": { "ecosystem": "Go", "name": "github.com/kyverno/kyverno" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.13.0" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2024-48921" ], "database_specific": { "cwe_ids": [ "CWE-285", "CWE-863" ], "github_reviewed": true, "github_reviewed_at": "2024-10-29T14:44:36Z", "nvd_published_at": "2024-10-29T15:15:10Z", "severity": "HIGH" }, "details": "### Summary\nA kyverno ClusterPolicy, ie. \"disallow-privileged-containers,\" can be overridden by the creation of a PolicyException in a random namespace.\n\n### Details\nBy design, PolicyExceptions are consumed from any namespace. Administrators may not recognize that this allows users with privileges to non-kyverno namespaces to create exceptions.\n\n### PoC\n1. Administrator creates \"disallow-privileged-containers\" ClusterPolicy that applies to resources in the namespace \"ubuntu-restricted\"\n2. Cluster user creates a PolicyException object for \"disallow-privileged-containers\" in namespace \"ubuntu-restricted\"\n3. Cluster user creates a pod with a privileged container in \"ubuntu-restricted\" \n4. Cluster user escalates to root on the node from the privileged container\n\n### Impact\nAdministrators attempting to enforce cluster security through kyverno policies, but that allow less privileged users to create resources", "id": "GHSA-qjvc-p88j-j9rm", "modified": "2024-11-07T19:23:10Z", "published": "2024-10-29T14:44:36Z", "references": [ { "type": "WEB", "url": "https://github.com/kyverno/kyverno/security/advisories/GHSA-qjvc-p88j-j9rm" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-48921" }, { "type": "PACKAGE", "url": "https://github.com/kyverno/kyverno" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "type": "CVSS_V3" }, { "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N", "type": "CVSS_V4" } ], "summary": "Kyverno\u0027s PolicyException objects can be created in any namespace by default" }
Loading...
Loading...
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.