CVE-2024-36533

9.8 CRITICAL

📋 TL;DR

This vulnerability in volcano v1.8.2 allows attackers to access service account tokens due to insecure permissions. Attackers can use these tokens to escalate privileges and access sensitive data within Kubernetes clusters. Organizations running vulnerable volcano versions are affected.

💻 Affected Systems

Products:
  • volcano
Versions: v1.8.2
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects volcano deployments in Kubernetes environments. The vulnerability exists in the default configuration.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full cluster compromise allowing attackers to access all resources, deploy malicious workloads, exfiltrate sensitive data, and potentially pivot to other systems.

🟠

Likely Case

Privilege escalation within the cluster allowing unauthorized access to sensitive workloads, configuration data, and service account privileges.

🟢

If Mitigated

Limited impact with proper network segmentation, RBAC restrictions, and service account token rotation policies in place.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires initial access to the cluster but is straightforward once inside. The gist references provide technical details.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v1.8.3 or later

Vendor Advisory: https://github.com/volcano-sh/volcano

Restart Required: Yes

Instructions:

1. Backup current volcano configuration. 2. Update volcano to v1.8.3 or later using your package manager or container registry. 3. Restart volcano components. 4. Verify the update was successful.

🔧 Temporary Workarounds

Restrict Service Account Permissions

linux

Apply least privilege principles to volcano service accounts using Kubernetes RBAC

kubectl create clusterrole volcano-restricted --verb=get,list,watch --resource=pods,services
kubectl create clusterrolebinding volcano-restricted-binding --clusterrole=volcano-restricted --serviceaccount=volcano-system:volcano-scheduler

Disable Automatic Service Account Token Mounting

linux

Prevent automatic mounting of service account tokens in volcano pods

kubectl patch deployment volcano-scheduler -n volcano-system --type='json' -p='[{"op": "add", "path": "/spec/template/spec/automountServiceAccountToken", "value": false}]'

🧯 If You Can't Patch

  • Implement network policies to restrict volcano component communications
  • Regularly rotate service account tokens and monitor for unauthorized usage

🔍 How to Verify

Check if Vulnerable:

Check volcano version: kubectl get deployment volcano-scheduler -n volcano-system -o jsonpath='{.spec.template.spec.containers[0].image}'

Check Version:

kubectl get deployment volcano-scheduler -n volcano-system -o jsonpath='{.spec.template.spec.containers[0].image}' | grep -o 'v[0-9.]*'

Verify Fix Applied:

Verify version is v1.8.3 or later and check service account token permissions in volcano pods

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to volcano service account tokens
  • Unusual API calls from volcano service accounts
  • Privilege escalation events in audit logs

Network Indicators:

  • Unexpected outbound connections from volcano pods
  • Traffic to external endpoints using service account tokens

SIEM Query:

source="kubernetes" ("volcano" AND ("serviceaccount" OR "token")) AND (action="create" OR action="get")

🔗 References

📤 Share & Export