ghsa-p976-h52c-26p6
Vulnerability from github
9.4 (Critical) - CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Impact
A vulnerability has been identified which enables Standard users or above to elevate their permissions to Administrator in the local
cluster.
The local
cluster means the cluster where Rancher is installed. It is named local
inside the list of clusters in the Rancher UI.
Standard users could leverage their existing permissions to manipulate Kubernetes secrets in the local
cluster, resulting in the secret being deleted, but their read-level permissions to the secret being preserved. When this operation was followed-up by other specially crafted commands, it could result in the user gaining access to tokens belonging to service accounts in the local
cluster.
Users that have custom global roles which grant create
and delete
permissions on secrets
would also be able to exploit this vulnerability.
Users with audit logs enabled in Rancher can try to identify possible abuses of this issue by going through the logs. To sieve through the data filter by kind: Secret
with type: provisioning.cattle.io/cloud-credential
, then investigate all log entries that affect that specific resource. A secondary check would be to filter by all operations with Opaque
Secrets within the cattle-global-data
namespace.
After patching, it is recommended that users review access methods to Rancher (including RBAC policies, tokens, and host-level node access), to ensure that no changes were made to persist access to users who have leveraged this vulnerability.
Patches
Patched versions include releases 2.6.13
, 2.7.4
and later versions.
Workarounds
There is no direct mitigation besides updating Rancher to a patched version.
For more information
If you have any questions or comments about this advisory:
- Reach out to the SUSE Rancher Security team for security related inquiries.
- Open an issue in the Rancher repository.
- Verify with our support matrix and product support lifecycle.
{ "affected": [ { "package": { "ecosystem": "Go", "name": "github.com/rancher/rancher" }, "ranges": [ { "events": [ { "introduced": "2.6.0" }, { "fixed": "2.6.13" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Go", "name": "github.com/rancher/rancher" }, "ranges": [ { "events": [ { "introduced": "2.7.0" }, { "fixed": "2.7.4" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2023-22647" ], "database_specific": { "cwe_ids": [ "CWE-267", "CWE-269" ], "github_reviewed": true, "github_reviewed_at": "2023-06-06T02:00:28Z", "nvd_published_at": "2023-06-01T13:15:10Z", "severity": "CRITICAL" }, "details": "### Impact\n\nA vulnerability has been identified which enables [Standard users](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/global-permissions) or above to elevate their permissions to Administrator in the `local` cluster.\n\nThe `local` cluster means the cluster where Rancher is installed. It is named `local` inside the list of clusters in the Rancher UI.\n\nStandard users could leverage their existing permissions to manipulate Kubernetes secrets in the `local` cluster, resulting in the secret being deleted, but their read-level permissions to the secret being preserved. When this operation was followed-up by other specially crafted commands, it could result in the user gaining access to tokens belonging to service accounts in the `local` cluster.\n\nUsers that have custom global roles which grant `create` and `delete` permissions on `secrets` would also be able to exploit this vulnerability.\n\nUsers with [audit logs enabled](https://ranchermanager.docs.rancher.com/how-to-guides/advanced-user-guides/enable-api-audit-log#enabling-api-audit-log) in Rancher can try to identify possible abuses of this issue by going through the logs. To sieve through the data filter by `kind: Secret` with `type: provisioning.cattle.io/cloud-credential`, then investigate all log entries that affect that specific resource. A secondary check would be to filter by all operations with `Opaque` Secrets within the `cattle-global-data` namespace.\n\nAfter patching, it is recommended that users review access methods to Rancher (including RBAC policies, tokens, and host-level node access), to ensure that no changes were made to persist access to users who have leveraged this vulnerability.\n\n### Patches\n\nPatched versions include releases `2.6.13`, `2.7.4` and later versions. \n\n### Workarounds\n\nThere is no direct mitigation besides updating Rancher to a patched version.\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n- Reach out to the [SUSE Rancher Security team](https://github.com/rancher/rancher/security/policy) for security related inquiries.\n- Open an issue in the [Rancher](https://github.com/rancher/rancher/issues/new/choose) repository.\n- Verify with our [support matrix](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/) and [product support lifecycle](https://www.suse.com/lifecycle/).", "id": "GHSA-p976-h52c-26p6", "modified": "2024-09-16T15:07:40Z", "published": "2023-06-06T02:00:28Z", "references": [ { "type": "WEB", "url": "https://github.com/rancher/rancher/security/advisories/GHSA-p976-h52c-26p6" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-22647" }, { "type": "WEB", "url": "https://bugzilla.suse.com/show_bug.cgi?id=CVE-2023-22647" }, { "type": "PACKAGE", "url": "https://github.com/rancher/rancher" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/releases/tag/v2.6.13" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/releases/tag/v2.7.4" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H", "type": "CVSS_V3" }, { "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H", "type": "CVSS_V4" } ], "summary": "Rancher vulnerable to Privilege Escalation via manipulation of Secrets" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- 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.