CVE-2024-22032: Github.com/rancher/rancher Rancher's RKE1 Encryption Config Kept Vulnerability

HIGH
Advisory Identifier: GHSA-q6c7-56cq-g2wm
CVSS 6.5
CWE-200 CWE-256
Published
Advisory Summary

CVE-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

CVE Identifier CVE-2024-22032
GHSA Identifier GHSA-q6c7-56cq-g2wm
Severity HIGH
CVSS v3.1 Base Score 6.5
CWE Classification CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Affected Product Github.com/rancher/rancher
Package Ecosystem Go
Published Date
Last Updated

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).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required Low (PR:L)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity None (I:N)
Availability None (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.

github.com/rancher/rancher fixed: 2.7.14
Upgrade github.com/rancher/rancher to 2.7.14
github.com/rancher/rancher fixed: 2.8.5
Upgrade github.com/rancher/rancher to 2.8.5
Verify Direct and Transitive Dependencies

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

### Impact This issue is only relevant to clusters provisioned using RKE1 with secrets encryption configuration enabled. A 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. This could lead to an unauthorized user gaining access to the entire secrets encryption config specific for the cluster, only on the applied spec. Since 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). The full custom configuration example: ```yaml services: kube-api: secrets_encryption_config: enabled: true custom_config: apiVersion: apiserver.config.k8s.io/v1 kind: EncryptionConfiguration resources: - resources: - secrets providers: - aescbc: keys: - name: k-fw5hn secret: RTczRjFDODMwQzAyMDVBREU4NDJBMUZFNDhCNzM5N0I= #<--- needs to be changed - identity: {} ``` Please consult the associated [MITRE ATT&CK - Technique - Unsecured Credentials](https://attack.mitre.org/techniques/T1552/) for further information about this category of attack. ### Patches To 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. Patched versions include releases `2.7.14` and `2.8.5`. ### Workarounds There 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. ### References - [CVE-2024-22032](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-22032) If you have any questions or comments about this advisory: - Reach out to the [SUSE Rancher Security team](https://github.com/rancher/rancher/security/policy) for security-related inquiries. - Open an issue in the [Rancher](https://github.com/rancher/rancher/issues/new/choose) repository. - 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/).

CVE-2024-22032 Affected Github.com/rancher/rancher Versions

2 component(s)
Fixed Versions:
2.7.142.8.5
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?
CVE-2024-22032 is a security vulnerability in Github.com/rancher/rancher involving Rancher's RKE1 Encryption Config kept in plain-text within cluster AppliedSpec under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor.
Which Github.com/rancher/rancher versions are affected?
Affected versions include releases prior to 2.7.14, 2.8.5 across affected packages: github.com/rancher/rancher.
What version fixes CVE-2024-22032?
Upgrading to 2.7.14, 2.8.5 (or the latest patched release for your respective branch) resolves the vulnerability.
Is github.com/rancher/rancher affected?
Yes, github.com/rancher/rancher is affected in releases prior to 2.7.14, 2.8.5. Upgrade your dependency to 2.7.14, 2.8.5 or later.
What is the CVSS score of CVE-2024-22032?
CVE-2024-22032 has a CVSS v3.1 base score of 6.5 (HIGH) with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N.
What CWE is associated with CVE-2024-22032?
CVE-2024-22032 is classified under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor (The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.).
How can I check Go dependencies for CVE-2024-22032?
Run the dependency tree command: 'inspect dependencies for github.com/rancher/rancher'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "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"
  }
}