Kubernetes社区披露了安全漏洞CVE-2025-0426。未认证的攻击者可以向kubelet HTTP只读端口发送大量容器Checkpoint请求,导致磁盘空间迅速被占满,从而完成针对集群节点的DoS拒绝服务攻击。
影响范围
只有启用了 kubelet只读HTTP端口和使用支持容器Checkpoint检查点功能的容器运行时(如CRI-O v1.25.0+(enable_criu_support设置为true)或安装了criu的containerd v2.0+)的集群才会受到此漏洞影响。
ACK集群节点运行时默认状态下不支持Checkpoint接口,同时默认禁用kubelet只读非认证端口,因此不在该漏洞影响范围内。
漏洞影响范围如下:
kubelet v1.32.0 ~ v1.32.1
kubelet v1.31.0 ~ v1.31.5
kubelet v1.30.0 ~ v1.30.9
社区在下列版本中修复了该问题:
kubelet master
kubelet v1.32.2
kubelet v1.31.6
kubelet v1.30.10
kubelet v1.29.14
容器Checkpoint接口在kubelet 1.25到1.29版本作为Alpha特性默认关闭,不受影响。
漏洞排查
当kubelet HTTP只读端口服务侧收到大量的/checkpoint
接口的请求,或节点的/var/lib/kubelet/checkpoints
目录(默认设置下)中出现大量的Checkpoints检查点存储文件,表明可能有攻击者试图利用此漏洞进行拒绝服务攻击。
解决方案
默认情况下ACK集群不在漏洞影响范围内。如果您集群的kubelet或运行时存在黑屏化的自定义配置,可以参见如下配置防范风险。
持续监控集群节点的磁盘使用率,请参见磁盘监控。
关闭节点kubelet ContainerCheckpoint特性门控。
禁用kubelet只读非认证端口。