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

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

2025-06-14 17:01:28作者:龚格成

问题背景

近期在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集群的稳定运行。

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

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
466
3.47 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
715
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
203
81
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.26 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1