Miggo Logo

CVE-2025-0426: Node Denial of Service via kubelet Checkpoint API

6.2

CVSS Score
3.1

Basic Information

EPSS Score
0.07667%
Published
2/13/2025
Updated
2/13/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
k8s.io/kubernetesgo>= 1.32.0, < 1.32.21.32.2
k8s.io/kubernetesgo>= 1.31.0, < 1.31.61.31.6
k8s.io/kubernetesgo>= 1.30.0, < 1.30.101.30.10
k8s.io/kubernetesgo< 1.29.141.29.14

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability occurs because the kubelet's Checkpoint API was exposed on an unauthenticated read-only HTTP endpoint. The provided patches (e.g., bda81f1b68e22671e5e26953f0086ac6fca9d8aa) show that the registration of the '/checkpoint' route, which is handled by the 's.checkpoint' method, was moved from the InstallDefaultHandlers function to the InstallDebuggingHandlers function. InstallDefaultHandlers sets up the unauthenticated read-only port, while InstallDebuggingHandlers typically sets up authenticated endpoints. Therefore, InstallDefaultHandlers was the function that incorrectly exposed the checkpointing functionality without authentication, and s.checkpoint (which resolves to k8s.io/kubernetes/pkg/kubelet/server.(*Server).checkpoint) is the function that processes these potentially malicious requests, leading to disk exhaustion.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

* s**urity issu* w*s *is*ov*r** in Ku**rn*t*s w**r* * l*r** num**r o* *ont*in*r ****kpoint r*qu*sts m*** to t** un*ut**nti**t** ku**l*t r***-only *TTP *n*point m*y **us* * No** **ni*l o* S*rvi** *y *illin* t** No**'s *isk.

Reasoning

T** vuln*r**ility o**urs ****us* t** ku**l*t's ****kpoint *PI w*s *xpos** on *n un*ut**nti**t** r***-only *TTP *n*point. T** provi*** p*t***s (*.*., ****************************************) s*ow t**t t** r**istr*tion o* t** '/****kpoint' rout*, w*i*