ingress-nginx 中允许 Kubernetes 集群受到损害的漏洞

在 Kubernetes 项目开发的 ingress-nginx 控制器中,已发现三个漏洞,这些漏洞允许在默认配置下访问 Ingress 对象的设置,该对象除其他外还存储用于访问 Kubernetes 服务器的凭据,从而允许特权访问到集群。 该问题仅出现在 Kubernetes 项目的 ingress-nginx 控制器中,不会影响 NGINX 开发人员开发的 kubernetes-ingress 控制器。

入口控制器充当网关,在 Kubernetes 中用于组织从外部网络到集群内服务的访问。 ingress-nginx 控制器是最流行的,它使用 NGINX 服务器将请求转发到集群、路由外部请求和负载平衡。 Kubernetes 项目为 AWS、GCE 和 nginx 提供了核心入口控制器,后者与 F5/NGINX 维护的 kubernetes-ingress 控制器没有任何关系。

ingress-nginx 中允许 Kubernetes 集群受到损害的漏洞

漏洞 CVE-2023-5043 和 CVE-2023-5044 允许您使用“nginx.ingress.kubernetes.io/configuration-snippet”和“nginx.ingress”在具有入口控制器进程权限的服务器上执行代码.kubernetes”参数来替代 .io/permanent-redirect。” 除此之外,获得的访问权限允许您检索用于在集群管理级别进行身份验证的令牌。 漏洞 CVE-2022-4886 允许您使用 log_format 指令绕过文件路径验证。

前两个漏洞仅出现在 1.9.0 版本之前的 ingress-nginx 版本中,最后一个漏洞出现在 1.8.0 版本之前。 要进行攻击,攻击者必须有权访问入口对象的配置,例如,在多租户 Kubernetes 集群中,用户可以在其命名空间中创建对象。

来源: opennet.ru

添加评论