Ingress-nginx CVE-2025-1974:你需要知道什麼

今天,ingress-nginx 的維護者釋出了一批關鍵漏洞的補丁,這些漏洞可能使攻擊者輕易接管你的 Kubernetes 叢集:ingress-nginx v1.12.1ingress-nginx v1.11.5。如果你是使用 ingress-nginx 的超過 40% 的 Kubernetes 管理員之一,你應該立即採取行動,保護你的使用者和資料。

背景

Ingress 是 Kubernetes 用於將工作負載 Pod 暴露給外部世界以便它們發揮作用的傳統功能。Kubernetes 使用者可以以一種與實現無關的方式,定義他們的應用程式應如何在網路上可用。然後,Ingress 控制器會使用該定義,根據使用者的具體情況和需求,設定所需的本地或雲資源。

有許多不同的 Ingress 控制器可供選擇,以適應不同雲提供商或負載均衡器品牌的使用者。Ingress-nginx 是 Kubernetes 專案提供的一個純軟體的 Ingress 控制器。由於其多功能性和易用性,ingress-nginx 非常受歡迎:它被部署在超過 40% 的 Kubernetes 叢集中!

Ingress-nginx 將 Ingress 物件中的需求轉換為 nginx(一個強大的開源 Web 伺服器守護程序)的配置。然後,nginx 使用該配置來接受請求並將其路由到 Kubernetes 叢集內執行的各種應用程式。正確處理這些 nginx 配置引數至關重要,因為 ingress-nginx 需要在允許使用者具有顯著靈活性的同時,防止他們無意或有意地誘使 nginx 去做它不該做的事情。

今日修復的漏洞

今天釋出的四個 ingress-nginx 漏洞是對 ingress-nginx 處理特定 nginx 配置片段方式的改進。如果沒有這些修復,一個特製的 Ingress 物件可能導致 nginx 出現各種異常行為,包括洩露 ingress-nginx 可訪問的 Secrets 的值。預設情況下,ingress-nginx 可以訪問整個叢集的所有 Secrets,因此這通常會導致任何有權建立 Ingress 的使用者或實體完全接管叢集。

今天最嚴重的漏洞是 CVE-2025-1974,評級為 9.8 CVSS,它允許 Pod 網路上的任何實體透過 ingress-nginx 的 Validating Admission Controller 功能利用配置注入漏洞。這使得這類漏洞的危險性大大增加:通常情況下,利用這些漏洞需要能夠在叢集中建立 Ingress 物件,這是一個相當高的許可權操作。當與今天的其他漏洞結合時,CVE-2025-1974 意味著 Pod 網路上的任何實體都有很大可能接管你的 Kubernetes 叢集,而無需任何憑證或管理許可權。在許多常見場景中,Pod 網路對你雲 VPC 中的所有工作負載,甚至連線到你公司網路的任何人都是可訪問的!這是一個非常嚴重的情況。

今天,我們釋出了 ingress-nginx v1.12.1ingress-nginx v1.11.5,其中包含了針對所有這五個漏洞的修復。

你的下一步行動

首先,確定你的叢集是否正在使用 ingress-nginx。在大多數情況下,你可以使用叢集管理員許可權執行 kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx 來檢查。

如果你正在使用 ingress-nginx,請立即制定計劃修復這些漏洞。

最好、最簡單的補救措施是升級到 ingress-nginx 的新補丁版本 安裝今天的補丁可以修復所有五個漏洞。

如果你無法立即升級,可以透過關閉 ingress-nginx 的 Validating Admission Controller 功能來顯著降低風險。

  • 如果你是使用 Helm 安裝的 ingress-nginx
    • 重新安裝,設定 Helm 值 controller.admissionWebhooks.enabled=false
  • 如果你是手動安裝的 ingress-nginx
    • 刪除名為 ingress-nginx-admission 的 ValidatingWebhookconfiguration
    • 編輯 ingress-nginx-controller 的 Deployment 或 Daemonset,從控制器容器的引數列表中移除 --validating-webhook

如果你關閉了 Validating Admission Controller 功能作為 CVE-2025-1974 的緩解措施,請記得在升級後重新啟用它。該功能為你的使用者提供了重要的生活質量改進,能在不正確的 Ingress 配置生效前向他們發出警告。

結論、致謝和進一步閱讀

今天公佈的 ingress-nginx 漏洞,包括 CVE-2025-1974,對許多 Kubernetes 使用者及其資料構成了嚴重風險。如果你使用 ingress-nginx,應該立即採取行動以確保安全。

感謝來自 Wiz 的 Nir Ohfeld、Sagi Tzadik、Ronen Shustin 和 Hillai Ben-Sasson 負責任地披露了這些漏洞,並與 Kubernetes SRC 成員和 ingress-nginx 維護者(Marco Ebert 和 James Strong)合作,以確保我們有效地修復了它們。

有關 ingress-nginx 維護和未來的更多資訊,請參閱此 GitHub issue 和/或參加 James 和 Marco 在 KubeCon/CloudNativeCon EU 2025 上的演講

有關本文中討論的具體漏洞的更多資訊,請參閱相應的 GitHub issue:CVE-2025-24513CVE-2025-24514CVE-2025-1097CVE-2025-1098CVE-2025-1974

這篇博文於 2025 年 5 月修訂,以更新超連結。