CVE-2024-22032: Github.com/rancher/rancher Rancher's RKE1 Encryption Config Kept Vulnerability
HIGHCVE-2024-22032 is a HIGH (CVSS 6.5) rancher's rke1 encryption config kept vulnerability (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) affecting Github.com/rancher/rancher libraries in the Go ecosystem. The issue involves rancher's rke1 encryption config kept in plain-text within cluster appliedspec. Remediation is available by upgrading affected packages to version 2.7.14, 2.8.5.
CVE-2024-22032 at a Glance
Security Impact
CVSS: 6.5
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N).
How to Fix CVE-2024-22032
To remediate this vulnerability, upgrade all affected Github.com/rancher/rancher dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/rancher/rancher to 2.7.14
Upgrade github.com/rancher/rancher to 2.8.5
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/rancher/rancher
How to Check if You Are Affected
To determine whether your application is affected by CVE-2024-22032, inspect your project dependencies for Github.com/rancher/rancher:
inspect dependencies for github.com/rancher/rancher
Analyze the terminal output to locate any version of Github.com/rancher/rancher in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.7.14), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, where the product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. In Github.com/rancher/rancher, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2024-22032 Affected Github.com/rancher/rancher Versions
2 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/rancher/rancher
|
Go |
≥ 2.7.0
< 2.7.14
|
2.7.14
|
|
github.com/rancher/rancher
|
Go |
≥ 2.8.0
< 2.8.5
|
2.8.5
|
References
Frequently Asked Questions
What is CVE-2024-22032?
Which Github.com/rancher/rancher versions are affected?
What version fixes CVE-2024-22032?
Is github.com/rancher/rancher affected?
What is the CVSS score of CVE-2024-22032?
What CWE is associated with CVE-2024-22032?
How can I check Go dependencies for CVE-2024-22032?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-q6c7-56cq-g2wm",
"modified" : "2024-10-16T17:26:04Z",
"published" : "2024-06-17T22:30:52Z",
"aliases" : [ "CVE-2024-22032" ],
"summary" : "Rancher's RKE1 Encryption Config kept in plain-text within cluster AppliedSpec",
"details" : "### Impact\nThis issue is only relevant to clusters provisioned using RKE1 with secrets encryption configuration enabled.\n\nA vulnerability has been identified in which an RKE1 cluster keeps constantly reconciling when secrets encryption configuration is enabled (please see the [RKE documentation](https://rke.docs.rancher.com/config-options/secrets-encryption)). When reconciling, the Kube API secret values are written in plaintext on the AppliedSpec. Cluster owners, Cluster members, and Project members (for projects within the cluster), all have RBAC permissions to view the cluster object from the apiserver.\n\nThis could lead to an unauthorized user gaining access to the entire secrets encryption config specific for the cluster, only on the applied spec.\n\nSince this affects only custom encryption configurations, users need to manually rotate the keys by editing the cluster. For more information, please refer to the [RKE secrets encryption documentation](https://rke.docs.rancher.com/config-options/secrets-encryption#key-rotation).\n\nThe full custom configuration example:\n\n```yaml\nservices:\n kube-api:\n secrets_encryption_config:\n enabled: true\n custom_config:\n apiVersion: apiserver.config.k8s.io/v1\n kind: EncryptionConfiguration\n resources:\n - resources:\n - secrets\n providers:\n - aescbc:\n keys:\n - name: k-fw5hn\n secret: RTczRjFDODMwQzAyMDVBREU4NDJBMUZFNDhCNzM5N0I= #<--- needs to be changed\n - identity: {}\n```\n\nPlease consult the associated [MITRE ATT&CK - Technique - Unsecured Credentials](https://attack.mitre.org/techniques/T1552/) for further information about this category of attack.\n\n### Patches\nTo address this issue, the fix introduces a new change that copies the AppliedSpec before mutating. As such, the next time the cluster is reconciled and the AppliedSpec is set, all references to sensitive data will be removed. \n\nPatched versions include releases `2.7.14` and `2.8.5`.\n\n### Workarounds\nThere are no workarounds for this issue. Users are recommended to upgrade, as soon as possible, to a version of RKE/Rancher Manager which contains the fixes. \n\n### References\n- [CVE-2024-22032](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-22032)\n\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/).\n",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
}, {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/rancher/rancher"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.7.0"
}, {
"fixed" : "2.7.14"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/rancher/rancher"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.8.0"
}, {
"fixed" : "2.8.5"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/rancher/rancher/security/advisories/GHSA-q6c7-56cq-g2wm"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2024-22032"
}, {
"type" : "WEB",
"url" : "https://bugzilla.suse.com/show_bug.cgi?id=CVE-2024-22032"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/rancher/rancher"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-200", "CWE-256" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2024-06-17T22:30:52Z",
"nvd_published_at" : "2024-10-16T14:15:05Z"
}
}