首页   

KubeSphere 网关组件(ingress-nginx)安全漏洞公告正式发布

KubeSphere云原生  · 互联网安全 科技自媒体  · 4 天前

主要观点总结

Kubernetes官方维护的Ingress-Nginx控制器存在多个高危漏洞,影响KubeSphere和KSE的多个版本。这些漏洞可能导致未经授权的代码执行、敏感信息泄露,甚至完全控制集群。建议受影响的用户立即采取措施确保集群安全。

关键观点总结

关键观点1: 漏洞概述

影响KubeSphere和KSE的所有版本,包括KubeSphere v4.1.x和KSE v3.x的所有版本以及v4.1.x版本。漏洞等级严重,存在权限提升、信息泄露、安全绕过和目录遍历等问题。

关键观点2: 漏洞影响

通过特定注解注入恶意配置,可能导致任意代码执行和信息泄露。未授权访问,特别是CVE-2025-1974,攻击者无需认证即可获取集群控制权。

关键观点3: 解决方案

升级nginx社区推荐方案,升级至安全版本v1.11.5或v1.12.1或更高版本。临时缓解措施包括检查并移除有问题的注解,禁用某些功能等。但完整修复方案是升级到安全版本。

关键观点4: 检测方法

使用kubectl命令检查可能被利用的配置或可疑活动,如检查特定注解、Admission Controller状态等。同时,检查Pod日志中是否有可疑活动。

关键观点5: 安全最佳实践

实施严格的网关访问控制、配置网关路由隔离策略、启用TLS限制Ingress资源访问权限等。


正文

近期,Kubernetes 官方维护的 Ingress-Nginx 控制器被发现存在多个高危漏洞,包括权限提升、信息泄露、安全绕过和目录遍历等问题。这些漏洞影响了 KubeSphere 和 KSE 的多个版本,攻击者利用这些漏洞,可能在未经授权的情况下执行任意代码、访问敏感信息,甚至完全控制集群。

鉴于这些漏洞的严重性,建议受影响的用户立即采取措施,确保集群安全。

KubeSphere 网关组件(ingress-nginx)安全漏洞公告

1. 漏洞概述

影响版本:

  • KubeSphere & KSE v3.x 所有版本
  • KubeSphere & KSE v4.1.x 所有版本

漏洞等级:严重

漏洞类型:

权限提升、信息泄露、安全绕过、目录遍历

相关漏洞一览:

漏洞编号
类型
CVSS 评分
简述
详细信息
CVE-2025-1097
配置注入
8.8(高危)
通过 auth-tls-match-cn 注解注入恶意配置,可导致任意代码执行和信息泄露
官方链接[1]
CVE-2025-24514
配置注入
8.8(高危)
通过 auth-url 注解注入恶意配置,可导致任意代码执行和信息泄露
官方链接[2]
CVE-2025-24513
目录遍历
4.8(中危)
Admission Controller 中的文件路径遍历,可能导致拒绝服务和信息泄露
官方链接[3]
CVE-2025-1974
远程代码执行
9.8(严重)
Pod 网络可达的未授权远程代码执行漏洞,可导致完全控制集群
官方链接[4]
CVE-2025-1098
配置注入
8.8(高危)
通过mirror-targetmirror-host注解注入恶意配置,可导致任意代码执行和信息泄露
官方链接[5]

2. 漏洞影响分析

这些漏洞主要通过以下方式影响系统:

  • 代码执行风险:CVE-2025-1097、CVE-2025-24514、CVE-2025-1098 和 CVE-2025-1974 都可能导致在 ingress-nginx 控制器上下文中执行任意代码。
  • 信息泄露:由于默认情况下,ingress-nginx 控制器可访问集群内所有命名空间中的 Secrets,这可能导致敏感凭证泄露。
  • 未授权访问:特别是 CVE-2025-1974,任何能够访问 Pod 网络的攻击者无需认证即可获取集群控制权,CVSS 评分高达 9.8(严重)。
  • 缓解条件:对于 CVE-2025-24514,如果已启用 enable-annotation-validation 参数(v1.12.0 起默认启用),则不受该漏洞影响。

3. 验证是否受影响

请执行以下步骤检查您的系统是否受影响:

确认是否使用 ingress-nginx 组件:

kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx

如果命令返回结果,表明您正在使用 ingress-nginx。

检查已安装的 ingress-nginx 版本:

kubectl exec -it -n ingress-nginx deploy/ingress-nginx-controller -- /nginx-ingress-controller --version

受影响版本:

  • < v1.11.0
  • v1.11.0 - v1.11.4
  • v1.12.0

注意: 如果您使用的是受影响版本,请立即采取本文档中的解决方案或缓解措施。

4. 解决方案

1. 升级(nginx 社区推荐方案)

升级至以下安全版本之一:

  • v1.11.5
  • v1.12.1 或更高版本

2. 升级修复(KubeSphere 产品中的网关)

KS/KSE v4.1.3 参考下方步骤升级网关。

  • v4.1.3 之前的 KS/KSE: 请先升级至 v4.1.3。

  • 将 Kubesphere 网关升级到 v1.0.4 版本(Ingress-Nginx controller 版本 v1.12.1)。

Gateway 扩展组件升级方法可参考:Gateway 升级指南[6]

3. 临时缓解措施

如无法立即升级,可执行以下临时缓解措施:

CVE-2025-1097 缓解措施

  • 检查并移除所有 Ingress 中的 auth-tls-match-cn注解:
# 检查
kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,AUTH_TLS_MATCH_CN:.metadata.annotations.nginx\.ingress\.kubernetes\.io/auth-tls-match-cn'

# 移除
kubectl annotate ingress -n nginx.ingress.kubernetes.io/auth-tls-match-cn-

CVE-2025-24514 缓解措施检查并移除所有 Ingress 中的 auth-url 注解:

# 检查
kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,AUTH_URL:.metadata.annotations.nginx\.ingress\.kubernetes\.io/auth-url'

# 移除
kubectl annotate ingress -n nginx.ingress.kubernetes.io/auth-url-
  • 或启用 enable-annotation-validation 参数(此参数在 v1.12.0 起默认启用,但低版本需手动配置):
# 检查是否启用了注解验证功能
kubectl get deployment -n ingress-nginx ingress-nginx-controller -o yaml | grep enable-annotation-validation

# 如未启用,编辑 deployment 加入参数
kubectl edit deployment -n ingress-nginx ingress-nginx-controller
# 添加 --enable-annotation-validation=true
# 保存后控制器会自动重启

CVE-2025-24513 和 CVE-2025-1974 缓解措施

KubeSphere 网关默认不开启 Admission Controller,通过以下方法检查您的网关是否开启了 Admission Controller。

检查所有网关的 release

helm list -n A | grep kubesphere-router

查看所有 release 是否开启了 Admission Controller

helm get values [RELEASE_NAME] -n [RELEASE_NAMESPACE]

如果有 controller.admissionWebhooks.enabled 为 true,请立即联系青云技术支持人员为您解决。

如果您自行安装了 ingress-nginx,可使用以下方法检查和解决。

  • 禁用 Admission Controller(注意:这仅作为临时缓解措施,如果已升级到安全版本 v1.11.5 或 v1.12.1,则无需禁用):

如果使用 Helm 安装 ingress-nginx:

# 重新安装,设置Helm参数禁用admission webhook
helm upgrade [RELEASE_NAME] ingress-nginx/ingress-nginx \
  --set controller.admissionWebhooks.enabled=false \
  -n ingress-nginx

如果手动安装 ingress-nginx:

# 方法1:删除ValidatingWebhookConfiguration
kubectl delete validatingwebhookconfigurations ingress-nginx-admission

# 方法2:编辑Deployment或DaemonSet,移除--validating-webhook参数
kubectl edit deployment -n ingress-nginx ingress-nginx-controller
# 找到containers.args部分,删除--validating-webhook相关行

重要提示: 升级到安全版本(v1.11.5、v1.12.1 或更高版本)是解决所有漏洞的完整修复方案。禁用 Admission Controller 仅是在无法立即升级时的临时措施。升级后应保持 Admission Controller 启用,以确保正常功能。

CVE-2025-1098 缓解措施

  • 检查并移除所有 Ingress 中的 mirror-target 和 mirror-host 注解:
# 检查
kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,MIRROR_TARGET:.metadata.annotations.nginx\.ingress\.kubernetes\.io/mirror-target,MIRROR_HOST:.metadata.annotations.nginx\.ingress\.kubernetes\.io/mirror-host'

# 移除
kubectl annotate ingress -n nginx.ingress.kubernetes.io/mirror-target-
kubectl annotate ingress -n nginx.ingress.kubernetes.io/mirror-host-

5. 检测方法

可疑配置和活动检测

使用以下命令检查可能被利用的配置或可疑活动:

1. 检查可能被用于攻击的 auth-tls-match-cn 注解(CVE-2025-1097):

kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,AUTH_TLS_MATCH_CN:.metadata.annotations.nginx\.ingress\.kubernetes\.io/auth-tls-match-cn'

  • 检查返回结果中是否有可疑内容,特别注意包含特殊字符如 #}}、换行符等的注解值。
2. 检查可能被用于攻击的 auth-url 注解(CVE-2025-24514):

kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,AUTH_URL:.metadata.annotations.nginx\.ingress\.kubernetes\.io/auth-url'

  • 检查返回结果中是否有可疑内容,特别注意包含 #; 或换行符的 URL。
3. 检查 Admission Controller 是否开启,这与 CVE-2025-24513 和 CVE-2025-1974 相关:

kubectl get validatingwebhookconfigurations -l app.kubernetes.io/name=ingress-nginx

  • 如果返回结果,表示 Admission Controller 已开启,可能存在被攻击的风险。
4. 检查可能被用于攻击的mirror-target 或 mirror-host 注解(CVE-2025-1098):

kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,MIRROR_TARGET:.metadata.annotations.nginx\.ingress\.kubernetes\.io/mirror-target,MIRROR_HOST:.metadata.annotations.nginx\.ingress\.kubernetes\.io/mirror-host'

  • 检查返回结果中是否有可疑内容。
5. 检查 Pod 日志中是否有可疑活动:

kubectl logs -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx --tail=1000 | grep -E "error|warn|critical|suspicious|unauthorized"

  • 如果发现可疑配置或活动,请立即隔离受影响的资源并联系安全团队进行进一步分析。

6. 安全最佳实践

  • 实施严格的网关访问控制
  • 配置网关路由隔离策略
  • 启用 TLS
  • 限制 Ingress 资源访问权限
  • 启用审计日志监控
  • 实施 RBAC 最小权限原则
  • 定期检查和升级 ingress-nginx 控制器
  • 确保 admission 控制器不对外暴露
  • 实施网络策略限制 Pod 网络通信

7. 技术支持

如发现漏洞利用证据或需要技术支持,请联系:

  • KubeSphere 安全团队:security@kubesphere.io
  • GitHub Issues:KubeSphere GitHub Issues[7]

8. 参考信息

  • ingress-nginx 升级文档[8]
  • Wiz Research: IngressNightmare 漏洞分析[9]
  • Kubernetes 官方博客: CVE-2025-1974 简介[10]

引用链接

[1] 

官方链接: https://github.com/kubernetes/kubernetes/issues/131007

[2] 

官方链接: https://github.com/kubernetes/kubernetes/issues/131006

[3] 

官方链接: https://github.com/kubernetes/kubernetes/issues/131005

[4] 

官方链接: https://github.com/kubernetes/kubernetes/issues/131009

[5] 

官方链接: https://github.com/kubernetes/kubernetes/issues/131008

[6] 

Gateway升级指南: https://ask.kubesphere.com.cn/forum/d/24664-sheng-ji-gateway-zhi-v104

[7] 

KubeSphere GitHub Issues: https://github.com/kubesphere/kubesphere/issues

[8] 

ingress-nginx 升级文档: https://kubernetes.github.io/ingress-nginx/deploy/upgrade/

[9] 

Wiz Research: IngressNightmare漏洞分析: https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities

[10] 

Kubernetes 官方博客: CVE-2025-1974简介: https://kubernetes.io/blog/2025/03/24/ingress-nginx-cve-2025-1974/

KubeSphere 4.1.3 开源版正式发布

2025-03-27

 

关于 KubeSphere 中 Docker 组件合规性的声明

2025-03-05

 

KubeSphere 产品生命周期管理政策公告正式发布

2025-02-18

 

关于 KubeSphere

KubeSphere (https://kubesphere.io)是在 Kubernetes 之上构建的开源容器平台 ,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。

KubeSphere 已被 Aqara 智能家居、本来生活、东方通信、微宏科技、东软、华云、新浪、三一重工、华夏银行、四川航空、国药集团、微众银行、紫金保险、去哪儿网、中通、中国人民银行、中国银行、中国人保寿险、中国太平保险、中国移动、中国联通、中国电信、天翼云、中移金科、Radore、ZaloPay 等海内外数万家企业采用。KubeSphere 提供了开发者友好的向导式操作界面和丰富的企业级功能,包括 Kubernetes 多云与多集群管理、DevOps (CI/CD)、应用生命周期管理、边缘计算、微服务治理 (Service Mesh)、多租户管理、可观测性、存储与网络管理、GPU support 等功能,帮助企业快速构建一个强大和功能丰富的容器云平台。


 ✨ GitHub:https://github.com/kubesphere
 💻 官网(中国站):https://kubesphere.io/zh
 🙋 论坛https://ask.kubesphere.com.cn
 👨‍💻‍ 微信群:请搜索添加群助手微信号 kubesphere
 🔗 企业服务https://kubesphere.cloud
 🌐 企业官网https://kubesphere.com.cn

图片

© 2024 精读
删除内容请联系邮箱 2879853325@qq.com