CVE-2022-21953

7.4 HIGH

📋 TL;DR

This CVE-2022-21953 is a missing authorization vulnerability in SUSE Rancher that allows authenticated users to create unauthorized shell pods and gain kubectl access in the local cluster. It affects Rancher versions prior to 2.5.17, 2.6.10, and 2.7.1. Attackers with valid credentials can escalate privileges within the Kubernetes environment.

💻 Affected Systems

Products:
  • SUSE Rancher
Versions: Rancher versions prior to 2.5.17, 2.6.10, and 2.7.1
Operating Systems: All platforms running Rancher
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments where users have authenticated access to Rancher UI/API.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An authenticated attacker gains full administrative control over the local Kubernetes cluster, potentially compromising all workloads, stealing sensitive data, deploying malicious containers, or disrupting operations.

🟠

Likely Case

Privilege escalation allowing unauthorized access to cluster resources, creation of persistent backdoors, and lateral movement within the Kubernetes environment.

🟢

If Mitigated

Limited impact with proper network segmentation, minimal user permissions, and monitoring in place, though the vulnerability still exists.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Requires authenticated access but exploitation is straightforward once credentials are obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Rancher 2.5.17, 2.6.10, or 2.7.1

Vendor Advisory: https://bugzilla.suse.com/show_bug.cgi?id=1199731

Restart Required: Yes

Instructions:

1. Backup your Rancher configuration and data. 2. Upgrade to Rancher 2.5.17, 2.6.10, or 2.7.1 depending on your current version. 3. Follow SUSE's upgrade documentation for your specific deployment method (Helm, Docker, RKE). 4. Verify the upgrade completed successfully.

🔧 Temporary Workarounds

Restrict User Permissions

all

Apply principle of least privilege by limiting user permissions to only necessary resources.

kubectl create rolebinding restricted-user --clusterrole=view --user=username --namespace=default

Network Segmentation

all

Isolate Rancher management plane from production workloads and restrict access to Rancher API/UI.

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach Rancher management interfaces
  • Enforce multi-factor authentication and audit all user activities in Rancher

🔍 How to Verify

Check if Vulnerable:

Check Rancher version via UI (Settings -> About) or command line: kubectl get pods -n cattle-system -l app=rancher -o jsonpath='{.items[0].spec.containers[0].image}'

Check Version:

kubectl get pods -n cattle-system -l app=rancher -o jsonpath='{.items[0].spec.containers[0].image}' | grep -o 'rancher/rancher:v[0-9.]*'

Verify Fix Applied:

Confirm version is 2.5.17, 2.6.10, or 2.7.1 or higher, and test that authenticated users cannot create unauthorized shell pods.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized pod creation events in Rancher audit logs
  • Suspicious kubectl exec or shell access patterns
  • Unexpected privileged container deployments

Network Indicators:

  • Unusual outbound connections from Rancher management pods
  • Suspicious API calls to Kubernetes API server

SIEM Query:

source="rancher-audit" AND (event="create" AND resource="pods" AND user NOT IN ["system:serviceaccount:cattle-system", "admin-users"])

🔗 References

📤 Share & Export