2025年3月26日,网上更新披露了Kubernetes ingress-nginx远程代码执行漏洞。
漏洞描述:Ingress NGINX 控制器是 Kubernetes 中核心的控制器,用于处理传入流量并将其路由到相关的 Kubernetes 服务,根据一组规则将流量转发到适当的 Pods。
受影响版本的 ingress-nginx 控制器在处理传入的 AdmissionReview 请求时会根据模板文件和提供的 Ingress 对象生成一个临时的 NGINX 配置文件。然后使用 nginx -t 命令测试临时配置文件的有效性,这一操作导致攻击者可借助 nginx 配置文件注入恶意代码。
修复版本通过禁用验证过程中的 nginx 配置测试来缓解该漏洞。
影响范围:
/ingress-nginx < 1.11.5 及以上版本
风险等级:严重
修复方案:
建议您更新升级补丁至最新版以修复漏洞。
进行安全更新方法:
1. 将组件 github.com/kubernetes/ingress-nginx 升级至 1.11.5 及以上版本
2. 可以通过关闭 ingress-nginx 的验证准入控制器功能来降低风险。
1)使用 Helm 安装的 ingress-nginx:
可以重新安装并设置 Helm 属性 controller.admissionWebhooks.enabled=false
2)手动安装的 ingress-nginx:
删除名为 ValidatingWebhook 配置ingress-nginx-admission,编辑 ingress-nginx-controllerDeployment 或 Daemonset,从控制器容器的参数列表中删除 --validating-webhook