首页
/ MicroK8s中Ingress-NGINX安全问题CVE-2025-1974分析与修复指南

MicroK8s中Ingress-NGINX安全问题CVE-2025-1974分析与修复指南

2025-05-26 08:25:57作者:庞眉杨Will

问题背景

近期Kubernetes社区披露了Ingress-NGINX控制器中的一个重要安全问题CVE-2025-1974。该问题可能允许通过特制的Ingress资源绕过某些限制,获取集群信息或执行非预期操作。作为Kubernetes的轻量级发行版,MicroK8s内置的Ingress-NGINX插件也受到此问题影响。

影响范围

MicroK8s 1.28及以上版本中,当启用了Ingress插件时,默认会部署存在问题的Ingress-NGINX控制器镜像(如v1.11.2版本)。该问题主要影响以下组件:

  1. Ingress-NGINX控制器DaemonSet
  2. 相关的准入控制Webhook(默认情况下未启用)

问题验证方法

用户可以通过以下命令检查当前运行的Ingress-NGINX控制器版本:

microk8s kubectl -n ingress get pod -o yaml -l name=nginx-ingress-microk8s | grep image:

如果输出显示使用的镜像是v1.11.2或更早版本,则表明集群存在潜在风险。

修复方案

MicroK8s团队已发布修复版本,用户可采取以下两种方式之一进行修复:

方案一:升级MicroK8s版本

MicroK8s团队已将修复补丁回传到1.28+的所有版本通道中,其中1.31+版本已包含完整修复。建议用户直接升级MicroK8s:

sudo snap refresh microk8s --channel=latest/stable

方案二:手动更新Ingress插件

对于无法立即升级的用户,可手动更新Ingress-NGINX控制器镜像至安全版本v1.11.5:

# 拉取安全版本镜像
microk8s ctr image pull registry.k8s.io/ingress-nginx/controller:v1.11.5

# 更新Ingress插件配置
sed -i -e 's/TAG=".*"/TAG="v1.11.5"/' /var/snap/microk8s/common/addons/core/addons/ingress/enable

# 更新运行中的DaemonSet
microk8s kubectl set image --namespace ingress \
    ds/nginx-ingress-microk8s-controller \
    nginx-ingress-microk8s=registry.k8s.io/ingress-nginx/controller:v1.11.5

# 验证更新结果
microk8s kubectl -n ingress get pod -o yaml -l name=nginx-ingress-microk8s | grep image:

后续维护

MicroK8s团队已更新核心仓库中的Ingress插件配置,确保新安装的实例默认使用安全版本。对于现有集群,建议用户尽快执行上述修复操作,并定期检查组件更新。

安全建议

  1. 定期检查MicroK8s及其组件的安全公告
  2. 启用自动安全更新功能
  3. 限制Ingress资源的创建权限
  4. 在生产环境中考虑使用网络策略限制Ingress控制器的网络访问

通过及时应用这些安全措施,用户可以确保MicroK8s集群免受CVE-2025-1974等问题的影响。

登录后查看全文
热门项目推荐
相关项目推荐