BLOG | NGINX

到底是哪个版本的 NGINX Ingress Controller 受到 CVE-2022-4886、CVE-2023-5043 和 CVE-2023-5044 的影响?

NGINX-Part-of-F5-horiz-black-type-RGB
Ilya Krutov 缩略图
Ilya Krutov
Published November 03, 2023

2023 年 10 月 25 日,美国国家标准与技术研究院(NIST)收到了三个影响为 Kubernetes 打造的 NGINX Ingress Controller 的 CVE 漏洞报告:

  • CVE-2022-4886 – ingress-nginx 的路径验证功能可能被 log_format 指令绕开。
  • CVE-2023-5043 – ingress-nginx 的注释注入可导致任意命令的执行。
  • CVE-2023-5044 – 注解 nginx.ingress.kubernetes.io/permanent-redirect 引起的代码注入风险。

这个 CVE 漏洞报告以及随之而来的相关文章(比如《紧急:在为 Kubernetes 打造的 NGINX Ingress Controller 中发现新的安全问题》)引起了一些混淆(以及不少技术支持服务的请求)— 到底是哪个版本的 NGINX Ingress Controller 受到影响?以及谁应该为解决这些 CVE 所描述的漏洞而感到担忧?

混淆的情况完全可以理解 — 您知道实际上有不止一种 Ingress controller(Ingress 控制器)是基于 NGINX 开发的吗?

首先,有两个完全不同的项目都叫“NGINX Ingress Controller”:

除此之外还有其他基于 NGINX 的 Ingress controller,比如 Kong。幸运的是,它们的名字很易于区分。如果您不确定您正在使用的是哪个版本的 Ingress controller,您可查看您正在运行的 Ingress controller 的容器镜像,然后将其 Docker 镜像名字与上面列出的代码库做对比。

上面提到的漏洞(CVE-2022-4886、CVE-2023-5043 和 CVE-2023-5044)只适用于社区版的 Ingress controller (kubernetes/ingress-nginx)。NGINX 的 NGINX Ingress Controller 项目(nginxinc/kubernetes-ingress,包括开源的和商业的)都不受这些 CVE 的影响。

欲了解 NGINX Ingress Controller 和 Ingress controller 之间差异的更多信息,请阅读我们的博客文章《Ingress Controller 选型指南,第四部分:NGINX Ingress Controller 选项》。


"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."