警惕!Nginx Ingress高危漏洞CVE-2023-5044:通过注解实现代码注入

本文详细分析了Kubernetes ingress-nginx控制器中的高危安全漏洞CVE-2023-5044,攻击者可通过permanent-redirect注解注入恶意命令并窃取集群凭证,默认配置下该凭证拥有集群所有Secret的访问权限。文章提供了影响范围、缓解措施及配置建议。

在ingress-nginx中发现了一个安全问题,攻击者可以通过Ingress对象(属于networking.k8s.ioextensions API组)上的nginx.ingress.kubernetes.io/permanent-redirect注解,注入任意命令并获取ingress-nginx控制器的凭据。在默认配置下,该凭据拥有访问集群中所有Secret的权限。

此问题被评为高危(CVSS评分: 3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L),并被分配了CVE编号CVE-2023-5044。

受影响的组件与配置 此漏洞影响ingress-nginx。如果您的集群上没有安装ingress-nginx,则不受影响。您可以运行kubectl get po -n ingress-nginx来检查。

如果您正在运行从v1.2.0版本引入的“chrooted” ingress-nginx控制器(gcr.io/k8s-staging-ingress-nginx/controller-chroot),命令注入仍然可能,但凭据提取无法实现,因此不适用高危严重性等级。

在允许多租户且非管理员用户拥有创建Ingress对象权限的环境中,此问题的影响最为严重。

受影响的版本

  • < v1.9.0

允许缓解的版本

  • v1.9.0

缓解措施 Ingress管理员应将--enable-annotation-validation标志设置为true,以强制对ingress-nginx注解字段的内容进行限制。

检测 如果您发现此漏洞被利用的证据,请联系 security@kubernetes.io

更多详情

致谢 此漏洞由 Jan-Otto Kröpke (Cloudeteer GmbH) 报告。

感谢您, CJ Cullen 代表 Kubernetes 安全响应委员会


comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计