ghsa-5qmp-9x47-92q8
Vulnerability from github
Impact
A vulnerability has been identified within Rancher where it is possible for an unauthenticated user to list all CLI authentication tokens and delete them before the CLI is able to get the token value. This effectively prevents users from logging in via the CLI when using rancher token as the execution command (instead of the token directly being in the kubeconfig).
Note that this token is not the kubeconfig token and if an attacker is able to intercept it they can't use it to impersonate a real user since it is encrypted.
This happens because for SAML-based authentication providers, the login flow from the CLI works by generating a link to be pasted in the browser, and then polling every 10 seconds for the /v3-public/authTokens/<token name>
endpoint. The <token name>
is randomly generated by the CLI. Once the login flow succeeds, Rancher creates an auth token (with an encrypted token value). The CLI then deletes the authToken.
Rancher deployments using only the local authentication provider, or non-SAML-based authentication providers, are not impacted by this vulnerability. SAML-based users not using the CLI are also not impacted.
Please consult the associated MITRE ATT&CK - Technique - Account Access Removal for further information about this category of attack.
Patches
The fix involves removing GET and DELETE methods for the authTokens collection.
Patched versions include releases v2.8.13
, v2.9.7
and v2.10.3
.
Workarounds
Users can refrain from using the Rancher CLI to log in as a workaround. Otherwise, users are advised to upgrade to a patched version of Rancher Manager.
References
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.8.0" }, { "fixed": "2.8.13" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Go", "name": "github.com/rancher/rancher" }, "ranges": [ { "events": [ { "introduced": "2.9.0" }, { "fixed": "2.9.7" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Go", "name": "github.com/rancher/rancher" }, "ranges": [ { "events": [ { "introduced": "2.10.0" }, { "fixed": "2.10.3" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-23387" ], "database_specific": { "cwe_ids": [ "CWE-200" ], "github_reviewed": true, "github_reviewed_at": "2025-02-27T18:27:41Z", "nvd_published_at": "2025-04-11T11:15:42Z", "severity": "MODERATE" }, "details": "### Impact\nA vulnerability has been identified within Rancher where it is possible for an unauthenticated user to list all CLI authentication tokens and delete them before the CLI is able to get the token value. This effectively prevents users from logging in via the CLI when using rancher token as the execution command (instead of the token directly being in the kubeconfig). \n\nNote that this token is not the kubeconfig token and if an attacker is able to intercept it they can\u0027t use it to impersonate a real user since it is encrypted.\n\nThis happens because for SAML-based authentication providers, the login flow from the CLI works by generating a link to be pasted in the browser, and then polling every 10 seconds for the `/v3-public/authTokens/\u003ctoken name\u003e` endpoint. The `\u003ctoken name\u003e` is randomly generated by the CLI. Once the login flow succeeds, Rancher creates an auth token (with an encrypted token value). The CLI then deletes the authToken.\n\n\nRancher deployments using only the local authentication provider, or non-SAML-based authentication providers, are not impacted by this vulnerability. SAML-based users not using the CLI are also not impacted.\n\n\nPlease consult the associated [MITRE ATT\u0026CK - Technique - Account Access Removal](https://attack.mitre.org/techniques/T1531/) for further information about this category of attack.\n\n### Patches\nThe fix involves removing GET and DELETE methods for the authTokens collection.\n\nPatched versions include releases `v2.8.13`, `v2.9.7` and `v2.10.3`.\n\n### Workarounds\nUsers can refrain from using the Rancher CLI to log in as a workaround. Otherwise, users are advised to upgrade to a patched version of Rancher Manager.\n\n### References\nIf you have any questions or comments about this advisory:\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-5qmp-9x47-92q8", "modified": "2025-05-27T18:32:38Z", "published": "2025-02-27T18:27:41Z", "references": [ { "type": "WEB", "url": "https://github.com/rancher/rancher/security/advisories/GHSA-5qmp-9x47-92q8" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-23387" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/pull/48616" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/pull/48998" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/pull/48999" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/pull/49000" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/commit/2481630c4a5a75d81eb69d10d7558ea833395a1e" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/commit/bedd911b9b321436faa2d9e20a161f6ac396aa74" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/commit/ceeedb1aa67c319f4873615f19c3f56a66f39706" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/commit/dfa034d05a55b5e57990a1f700176dcd8e963dbc" }, { "type": "WEB", "url": "https://bugzilla.suse.com/show_bug.cgi?id=CVE-2025-23387" }, { "type": "PACKAGE", "url": "https://github.com/rancher/rancher" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/releases/tag/v2.10.3" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/releases/tag/v2.8.13" }, { "type": "WEB", "url": "https://github.com/rancher/rancher/releases/tag/v2.9.7" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "type": "CVSS_V3" } ], "summary": "Rancher\u0027s SAML-based login via CLI can be denied by unauthenticated users" }
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.