Kubernetes Ingress NGINX Controller 曝高危漏洞,無需認(rèn)證即可遠(yuǎn)程執(zhí)行代碼
Kubernetes 的 Ingress NGINX Controller 中披露了五個嚴(yán)重的安全漏洞,可能導(dǎo)致未經(jīng)認(rèn)證的遠(yuǎn)程代碼執(zhí)行(RCE)。這些漏洞使得超過 6,500 個集群面臨直接風(fēng)險,因?yàn)樗鼈儗⒔M件暴露在公共互聯(lián)網(wǎng)上。
這些漏洞(CVE-2025-24513、CVE-2025-24514、CVE-2025-1097、CVE-2025-1098 和 CVE-2025-1974)的 CVSS 評分為 9.8,被云安全公司 Wiz 統(tǒng)稱為 IngressNightmare。值得注意的是,這些漏洞并不影響 NGINX Ingress Controller,后者是 NGINX 和 NGINX Plus 的另一種入口控制器實(shí)現(xiàn)。
Wiz 在一份報告中表示:“利用這些漏洞,攻擊者可以未經(jīng)授權(quán)訪問 Kubernetes 集群中所有命名空間存儲的機(jī)密信息,從而導(dǎo)致集群被接管?!?/p>
漏洞影響范圍與原理
IngressNightmare的核心問題在于影響了 Kubernetes Ingress NGINX Controller 的準(zhǔn)入控制器組件。約 43% 的云環(huán)境可能受到這些漏洞的影響。
Ingress NGINX Controller 使用 NGINX 作為反向代理和負(fù)載均衡器,使得可以從集群外部暴露 HTTP 和 HTTPS 路由到集群內(nèi)部的服務(wù)。
該漏洞利用了 Kubernetes Pod 中部署的準(zhǔn)入控制器無需認(rèn)證即可通過網(wǎng)絡(luò)訪問的特性。具體來說,攻擊者可以通過直接向準(zhǔn)入控制器發(fā)送惡意 Ingress 對象(即 AdmissionReview 請求),遠(yuǎn)程注入任意的 NGINX 配置,從而在 Ingress NGINX Controller 的 Pod 上執(zhí)行代碼。
Wiz 解釋道:“準(zhǔn)入控制器的高權(quán)限和無限制的網(wǎng)絡(luò)訪問性創(chuàng)造了一個關(guān)鍵的提權(quán)路徑。利用此漏洞,攻擊者可以執(zhí)行任意代碼并訪問跨命名空間的所有集群機(jī)密信息,最終可能導(dǎo)致整個集群被接管。”
漏洞詳情
以下是這些漏洞的具體信息:
- CVE-2025-24514– auth-url 注解注入
- CVE-2025-1097– auth-tls-match-cn 注解注入
- CVE-2025-1098– mirror UID 注入
- CVE-2025-1974– NGINX 配置代碼執(zhí)行
在實(shí)驗(yàn)性攻擊場景中,威脅行為者可以通過利用 NGINX 的 client-body buffer 功能,將惡意負(fù)載以共享庫的形式上傳到 Pod,然后向準(zhǔn)入控制器發(fā)送 AdmissionReview 請求。該請求包含上述配置指令注入之一,導(dǎo)致共享庫被加載,從而實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。
Wiz 的云安全研究員 Hillai Ben-Sasson 告訴 The Hacker News,攻擊鏈的核心在于注入惡意配置,并利用它讀取敏感文件和運(yùn)行任意代碼。這可能會使攻擊者濫用強(qiáng)大的服務(wù)賬戶,讀取 Kubernetes 機(jī)密信息,最終實(shí)現(xiàn)集群接管。
修復(fù)建議與緩解措施
在負(fù)責(zé)任披露后,這些漏洞已在 Ingress NGINX Controller 的 1.12.1、1.11.5 和 1.10.7 版本中得到修復(fù)。建議用戶盡快更新到最新版本,并確保準(zhǔn)入 Webhook 端點(diǎn)不會對外暴露。
作為緩解措施,建議僅允許 Kubernetes API 服務(wù)器訪問準(zhǔn)入控制器,并在不需要時暫時禁用準(zhǔn)入控制器組件。