CVE-2020-35514

7.0 HIGH

📋 TL;DR

This vulnerability allows attackers with access to a container mounting /etc/kubernetes or local node access to copy the kubeconfig file and potentially add unauthorized nodes to the OpenShift cluster. It affects OpenShift versions before 4.7.0-202105111858.p0, compromising confidentiality, integrity, and availability.

💻 Affected Systems

Products:
  • OpenShift Container Platform
Versions: Versions before openshift4/ose-machine-config-operator v4.7.0-202105111858.p0
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Requires attacker access to container mounting /etc/kubernetes or local node access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attacker gains full cluster control, deploys malicious workloads, exfiltrates sensitive data, and disrupts cluster operations.

🟠

Likely Case

Unauthorized node addition leading to resource consumption, lateral movement, and potential data access.

🟢

If Mitigated

Limited impact due to existing RBAC controls, network policies, and monitoring preventing successful exploitation.

🌐 Internet-Facing: LOW - Requires container or node access, not directly internet-exposed.
🏢 Internal Only: HIGH - Internal attackers with container/node access can exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires existing access to container or node; exploitation involves file copying and cluster manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: openshift4/ose-machine-config-operator v4.7.0-202105111858.p0 or later

Vendor Advisory: https://bugzilla.redhat.com/show_bug.cgi?id=1914714

Restart Required: Yes

Instructions:

1. Update OpenShift to version 4.7.0-202105111858.p0 or later. 2. Apply the machine-config-operator update. 3. Restart affected nodes and containers.

🔧 Temporary Workarounds

Restrict container mounts

linux

Prevent containers from mounting /etc/kubernetes directory

oc adm policy add-scc-to-user restricted -z default -n <namespace>

Enforce RBAC restrictions

linux

Limit node addition permissions to trusted users only

oc policy add-role-to-user edit <trusted-user> -n <namespace>

🧯 If You Can't Patch

  • Implement strict container security policies to prevent mounting sensitive directories
  • Enforce network segmentation and monitor for unauthorized node addition attempts

🔍 How to Verify

Check if Vulnerable:

Check machine-config-operator version: oc get deployment machine-config-operator -n openshift-machine-config-operator -o jsonpath='{.spec.template.spec.containers[0].image}'

Check Version:

oc version

Verify Fix Applied:

Verify version is 4.7.0-202105111858.p0 or later and check that /etc/kubernetes/kubeconfig has proper permissions

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized node registration attempts in cluster logs
  • Unexpected changes to kubeconfig file permissions or content

Network Indicators:

  • Unusual API calls to add nodes
  • Traffic from unexpected IPs to cluster API

SIEM Query:

source="openshift-audit.log" AND (message="NodeAdded" OR message="kubeconfig")

🔗 References

📤 Share & Export