Miggo Logo

CVE-2025-4563: kubernetes allows nodes to bypass dynamic resource allocation authorization checks

2.7

CVSS Score
3.1

Basic Information

EPSS Score
0.036%
Published
6/23/2025
Updated
6/23/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
k8s.io/kubernetesgo>= 1.32.0, <= 1.32.51.32.6
k8s.io/kubernetesgo>= 1.33.0, <= 1.33.11.33.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from a missing authorization check in the NodeRestriction admission controller, which failed to validate ResourceClaims during pod creation by a node. This allowed a compromised node to create a mirror pod that could access unauthorized dynamic resources. The analysis of the patch reveals a defense-in-depth approach to mitigation, with fixes applied at three distinct stages of pod processing.

  1. Admission Control (admitPodCreate): The primary vulnerability is addressed in the admitPodCreate function of the NodeRestriction admission plugin. This is the point where the authorization decision should have been made. The patch adds the crucial missing check to forbid a node from creating pods that reference ResourceClaims.

  2. API Validation (validatePodResourceClaim): As a second layer of security, the generic API validation logic is hardened. The validatePodResourceClaim function now explicitly blocks static pods (mirror pods) from being created with ResourceClaims, preventing such invalid objects from entering the system.

  3. Kubelet Configuration (tryDecodeSinglePod): The third layer of defense is at the kubelet level. When the kubelet reads a static pod manifest from a file, the tryDecodeSinglePod function now rejects it if it contains ResourceClaims. This ensures that even if a malicious manifest is placed on the node's filesystem, the kubelet will refuse to process it.

An attacker exploiting this vulnerability would trigger a code path involving these three functions. The absence of checks in these functions in their vulnerable state would allow the malicious pod to be created. Therefore, these functions are key runtime indicators for detecting exploitation attempts.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* vuln*r**ility *xists in t** No**R*stri*tion **mission *ontroll*r w**r* no**s **n *yp*ss *yn*mi* r*sour** *llo**tion *ut*oriz*tion ****ks. W**n t** *yn*mi*R*sour***llo**tion ***tur* **t* is *n**l**, t** *ontroll*r prop*rly v*li**t*s r*sour** *l*im s

Reasoning

T** vuln*r**ility st*ms *rom * missin* *ut*oriz*tion ****k in t** No**R*stri*tion **mission *ontroll*r, w*i** **il** to v*li**t* `R*sour***l*ims` *urin* po* *r**tion *y * no**. T*is *llow** * *ompromis** no** to *r**t* * mirror po* t**t *oul* ****ss