全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:漏洞CVE-2026-42945公告

更新时间:Jun 09, 2026

近日,F5发布安全公告,披露了NGINX的一个堆缓冲区溢出高危漏洞 CVE-2026-42945。该漏洞存在于NGINX的 ngx_http_rewrite_module 模块中,最早引入于2008年发布的NGINX 0.6.27版本,潜伏时间长达18年。当集群使用 Nginx Ingress Controller作为集群Ingress网关时,未经身份验证的远程攻击者可触发堆溢出,在特定条件下实现远程代码执行(RCE),进而获得集群维度的资源访问权限。该漏洞被评估为高危漏洞,CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)评分 9.2。关于漏洞的更多信息请参考F5官方公告

影响范围

由于漏洞潜伏时间长达18年,当前所有版本的Nginx Ingress Controller均受此漏洞影响。

未安装Nginx Ingress Controller组件的集群不受此漏洞影响。请通过以下方式确认集群是否安装了该组件。

  • 组件管理

    控制台

    1. ACK集群列表页面,单击目标集群名称,在集群详情页左侧导航栏,单击组件管理

    2. 单击网络页签,查看是否存在Nginx Ingress Controller组件卡片。如果存在,则表明已安装。

    kubectl

    以下命令若有输出则表明已安装。

    kubectl get pods -n kube-system --selector app=ingress-nginx
  • Helm应用市场

    1. ACK集群列表页面,单击目标集群名称,在集群详情页左侧导航栏,选择应用 > Helm

    2. 在列表中查看是否存在 ack-ingress-nginx 或 ack-ingress-nginx-v1 对应的Chart应用。如存在,则表明已安装。

      通过Helm应用市场安装的应用版本为Nginx Ingress Controller的版本号。

如何排查风险配置

您可以通过以下步骤排查集群中的风险配置。

  1. 导出集群Nginx Ingress Controller组件的默认配置到文件 ingress-nginx-full-config.txt 中。

    kubectl exec -n <YOUR-NAMESPACE> <YOUR-POD-NAME> -- nginx -T > ingress-nginx-full-config.txt 2>&1
  2. 使用以下命令检索包含数字捕获变量(如 $1$2)与问号(?)的 rewrite 规则。

    grep -nE 'rewrite[[:space:]].*((\$[0-9].*\?)|(\?.*\$[0-9]))' ingress-nginx-full-config.txt
  3. 对每条匹配结果进行人工复核,重点检查同一配置上下文(context)中是否存在后续的 rewriteif 或 set 指令。

  4. 排查集群所有Ingress实例中是否包含可疑的 nginx.ingress.kubernetes.io/configuration-snippet 注解配置。

    kubectl get ingress --all-namespaces -o json | jq -r '
      .items[] |
      select(.metadata.annotations != null) |
      .metadata.namespace as $ns |
      .metadata.name as $name |
      .metadata.annotations |
      to_entries[] |
      select(
        .key == "nginx.ingress.kubernetes.io/configuration-snippet" and
        ((.value | gsub("\n"; " ")) | test("rewrite[[:space:]].*\\$[0-9].*\\?"))
      ) |
      "\n[POTENTIAL MATCH] Namespace: \($ns) | Ingress: \($name)\n   Annotation Key: \(.key)\n   Annotation Value: \(.value)"
    '
重要

请将自动化匹配结果仅视为初步筛查的待查线索,切勿将其直接等同于漏洞可利用的确凿证据。

解决方案

请关注Nginx Ingress Controller组件发布记录,并参见升级Nginx Ingress Controller组件,在业务低峰期及时升级到v1.14.5-release.1及以上的漏洞修复版本。

v1.11.5-aliyun.1及以上版本的Nginx Ingress Controller组件已默认开启注解校验(annotation validation)并默认禁用所有snippet注解,有助于缓解部分风险。