CVE-2025-4563: kubernetes allows nodes to bypass dynamic resource allocation authorization checks
2.7
Basic Information
Technical Details
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
k8s.io/kubernetes | go | >= 1.32.0, <= 1.32.5 | 1.32.6 |
k8s.io/kubernetes | go | >= 1.33.0, <= 1.33.1 | 1.33.2 |
Vulnerability Intelligence
Miggo AI
Root 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.
-
Admission Control (
admitPodCreate
): The primary vulnerability is addressed in theadmitPodCreate
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 referenceResourceClaims
. -
API Validation (
validatePodResourceClaim
): As a second layer of security, the generic API validation logic is hardened. ThevalidatePodResourceClaim
function now explicitly blocks static pods (mirror pods) from being created withResourceClaims
, preventing such invalid objects from entering the system. -
Kubelet Configuration (
tryDecodeSinglePod
): The third layer of defense is at the kubelet level. When the kubelet reads a static pod manifest from a file, thetryDecodeSinglePod
function now rejects it if it containsResourceClaims
. 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.