这个k8s ingress nginx的安全漏洞注意了

B站影视 韩国电影 2025-03-26 07:09 1

摘要:Kubernetes 社区近期发布了一则关于 ingress-nginx 的重要安全更新,修复了一批严重的漏洞,其中最值得关注的是 CVE-2025-1974。这些漏洞可能会让攻击者轻松接管你的 Kubernetes 集群,因此如果你是众多 ingress-n

Kubernetes 社区近期发布了一则关于 ingress-nginx 的重要安全更新,修复了一批严重的漏洞,其中最值得关注的是 CVE-2025-1974。这些漏洞可能会让攻击者轻松接管你的 Kubernetes 集群,因此如果你是众多 ingress-nginx 用户之一,就必须立即采取行动来保护你的用户和数据安全。

Ingress 是 Kubernetes 中用于将工作负载 Pod 暴露给外部世界的关键功能,它允许用户以一种与实现无关的方式定义应用程序如何在网络上可用。然后,Ingress 控制器根据这些定义来设置本地或云资源,以满足用户的具体需求。

Ingress-nginx 是 Kubernetes 项目提供的一个纯软件 Ingress 控制器,它将 Ingress 对象的要求转换为 nginx 的配置,后者是一个功能强大的开源 Web 服务器守护进程。通过这种配置,nginx 能够接收并路由请求到 Kubernetes 集群内的各个应用程序。

Ingress-nginx 的广泛使用和易用性使其在超过 40% 的 Kubernetes 集群中被部署。然而,这也意味着这些集群都面临着此次漏洞的潜在威胁。

此次修复的四个 ingress-nginx 漏洞主要涉及其处理 nginx 配置的方式。在修复之前,一个精心设计的 Ingress 对象可能会导致 nginx 出现各种异常行为,其中包括泄露 ingress-nginx 可访问的 Secrets 值。由于 ingress-nginx 默认具有访问集群中所有 Secrets 的权限,因此任何拥有创建 Ingress 权限的用户或实体都可能利用此漏洞完全接管集群。

最严重的漏洞 CVE-2025-1974,其 CVSS 评分为 9.8,允许 Pod 网络上的任何实体通过 ingress-nginx 的 Validating Admission Controller 功能利用配置注入漏洞。这使得这些漏洞变得更加危险,因为通常创建 Ingress 对象是一个需要较高权限的操作。而结合其他漏洞,CVE-2025-1974 意味着 Pod 网络上的任何实体都有很大机会在无需凭据或管理权限的情况下接管你的 Kubernetes 集群。在许多常见场景中,Pod 网络对云 VPC 中的所有工作负载,甚至连接到企业网络的任何人都可访问,这是一个非常严重的情况。

确定是否使用 ingress-nginx

如果你不确定你的集群是否使用了 ingress-nginx,可以通过以下命令进行检查:

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

最直接和有效的解决方法是升级到 ingress-nginx 的最新补丁版本 v1.12.1 或 v1.11.5,这些版本已经修复了所有五个漏洞。升级操作相对简单,可以按照官方文档的指导进行。

关闭 Validating Admission Controller 功能(临时措施)

如果你暂时无法立即升级,可以通过关闭 ingress-nginx 的 Validating Admission Controller 功能来显著降低风险。

• 使用 Helm 安装的 ingress-nginx:

• 重新安装 ingress-nginx,并设置 Helm 值 controller.admissionWebhooks.enabled=false。

• 手动安装的 ingress-nginx:

• 删除名为 ingress-nginx-admission 的 ValidatingWebhookconfiguration。

• 编辑 ingress-nginx-controller Deployment 或 Daemonset,从控制器容器的参数列表中移除 --validating-webhook。

需要注意的是,Validating Admission Controller 功能为用户提供了一些重要的生活质量改进,例如在错误的 Ingress 配置生效之前警告用户。因此,如果你关闭了此功能作为 CVE-2025-1974 的缓解措施,记得在升级后重新开启它。

此次 ingress-nginx 的漏洞,尤其是 CVE-2025-1974,对许多 Kubernetes 用户及其数据构成了严重威胁。如果你的 Kubernetes 集群中部署了 ingress-nginx,必须立即采取行动来保护你的系统安全。及时升级到修复了漏洞的最新版本是最佳选择,如果无法立即升级,也要采取临时措施来降低风险。同时,要感谢那些负责披露这些漏洞并协助修复的研究人员,他们的工作对维护 Kubernetes 生态系统的安全至关重要。

来源:SuperOps

相关推荐