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

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

2025-05-26 22:54:20作者:盛欣凯Ernestine

近期Kubernetes社区披露了一个重要的安全问题CVE-2025-1974,该问题影响Ingress-NGINX控制器。作为轻量级Kubernetes发行版的MicroK8s,其内置的Ingress插件同样使用了NGINX Ingress Controller,因此需要特别关注此问题的影响范围及修复方案。

问题背景与影响分析

CVE-2025-1974是一个存在于Ingress-NGINX控制器中的安全问题,可能导致潜在的风险。该问题主要影响控制器版本v1.11.2及以下版本。MicroK8s在多个版本中默认集成了受影响的控制器镜像registry.k8s.io/ingress-nginx/controller:v1.11.2。

值得注意的是,MicroK8s默认配置下可能不会启用所有受影响的功能组件,特别是admission webhook在默认情况下是禁用的,这在一定程度上降低了问题的实际影响范围。然而,出于安全考虑,仍然建议所有用户尽快升级到修复版本。

问题修复方案

MicroK8s团队已经发布了针对各版本的修复方案,以下是详细的升级指南:

手动临时修复方案

对于需要立即修复的环境,可以执行以下步骤手动更新Ingress控制器:

  1. 首先确认当前运行的Ingress控制器版本:
microk8s kubectl -n ingress get pod -o yaml -l name=nginx-ingress-microk8s | grep image:
  1. 拉取修复后的镜像(v1.11.5):
microk8s ctr image pull registry.k8s.io/ingress-nginx/controller:v1.11.5
  1. 更新DaemonSet中的镜像版本:
microk8s kubectl set image --namespace ingress \
    ds/nginx-ingress-microk8s-controller \
    nginx-ingress-microk8s=registry.k8s.io/ingress-nginx/controller:v1.11.5
  1. 监控Pod重启状态:
watch microk8s kubectl -n ingress get all

永久修复方案

为了确保后续操作不会回退到有问题的版本,还需要修改MicroK8s的Ingress插件配置文件:

sed -i -e 's/TAG=".*"/TAG="v1.11.5"/' /var/snap/microk8s/common/addons/core/addons/ingress/enable

官方更新进展

MicroK8s团队已经将修复补丁反向移植到1.28+的所有渠道中。具体而言:

  • 1.31+版本渠道已经发布了包含修复的版本
  • 其他渠道的更新正在陆续发布中

建议用户关注MicroK8s的官方更新公告,及时将系统升级到最新版本以获得完整的安全修复。

最佳实践建议

  1. 定期检查MicroK8s组件版本,特别是安全相关组件如Ingress控制器
  2. 建立问题监控机制,及时获取Kubernetes生态系统的安全公告
  3. 对于生产环境,考虑使用经过充分测试的稳定版本渠道
  4. 在升级前做好备份和回滚预案

通过采取这些措施,可以确保MicroK8s环境的安全性和稳定性,有效防范类似风险。

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