社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

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

KubeSphere云原生 • 5 天前 • 43 次点击  

近期,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

图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/180645
 
43 次点击