首页
/ Harvester项目中RKE2 Nginx Ingress控制器问题CVE-2025-1974分析与应对方案

Harvester项目中RKE2 Nginx Ingress控制器问题CVE-2025-1974分析与应对方案

2025-06-14 05:20:23作者:龚格成

问题背景

近期在Kubernetes生态系统中发现了一个影响Nginx Ingress控制器的重要安全问题CVE-2025-1974。该问题主要影响特定版本的RKE2 ingress-nginx控制器,可能允许通过精心构造的请求绕过某些限制,对集群运行构成影响。

受影响版本分析

经过技术团队深入分析,确认该问题影响以下版本的Nginx Ingress控制器:

  • 所有v1.11.4及更早版本
  • v1.12.0版本

在Harvester项目中,不同版本集成的RKE2 ingress-nginx控制器版本存在差异:

  1. Harvester v1.4.1:使用v1.10.5-hardened4版本
  2. Harvester v1.4.2:使用v1.10.5-hardened6版本
  3. Harvester v1.5.0-rc3:已升级至v1.12.1-hardened1版本

从版本对比可见,Harvester v1.5.0-rc3由于使用了较新的v1.12.1-hardened1版本,不受此问题影响。而v1.4.x系列版本由于使用了较旧版本,均存在运行风险。

问题影响范围

该问题主要影响Harvester集群中由RKE2管理的nginx-ingress控制器组件。需要注意的是:

  • 仅影响RKE2管理的默认ingress控制器
  • 不影响用户自行部署的其他ingress控制器
  • 不影响Harvester核心功能,但可能影响集群运行

临时解决方案

对于仍在使用受影响版本的Harvester集群(v1.4.x),技术团队提供了以下临时解决方案:

  1. 验证当前ingress-nginx版本: 通过kubectl命令检查当前运行的ingress-nginx控制器版本:

    kubectl -n kube-system get po -l"app.kubernetes.io/name=rke2-ingress-nginx" -ojsonpath='{.items[].spec.containers[].image}'
    
  2. 修改Helm配置: 编辑rke2-ingress-nginx的Helm配置,禁用admission webhook:

    kubectl edit helmchart rke2-ingress-nginx -n kube-system
    

    在values内容中添加:

    controller:
      admissionWebhooks:
        enabled: false
    
  3. 验证修复效果

    • 确认webhook配置已删除:
      kubectl get validatingwebhookconfigurations rke2-ingress-nginx-admission
      
    • 检查ingress-nginx pod是否正常重启
    • 验证Harvester UI仍可通过VIP访问

长期解决方案

建议用户尽快升级到包含修复版本的Harvester新版本。技术团队已在以下版本中解决了此问题:

  • Harvester v1.5.0-rc3及更高版本

升级后,用户可以安全地恢复原有的webhook配置,无需继续使用临时解决方案。

技术建议

  1. 对于生产环境,建议优先考虑升级到安全版本
  2. 临时解决方案虽可缓解风险,但会禁用部分功能
  3. 实施临时解决方案后,应密切监控集群状态
  4. 升级完成后,建议重新启用admission webhook以恢复完整的功能

通过以上措施,用户可以有效地应对CVE-2025-1974问题带来的运行风险,确保Harvester集群的稳定运行。

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