一、漏洞简介

1.1 漏洞背景

Ingress-nginx 需要允许用户相当的灵活性来配置 nginx,同时防止用户意外或故意地欺骗 nginx 执行不应该执行的操作。该漏洞是配置注入类漏洞之一。

1.2 漏洞概述(包含 CVE 编号、危害等级、漏洞类型、披露时间等)

项目 内容
漏洞编号 CVE-2025-24514
危害等级 HIGH / 8.8
漏洞类型 配置注入漏洞
披露时间 2025-03-25
影响组件 Kubernetes
  • CVE编号: CVE-2025-24514
  • 危害等级: 高危 (High)
  • CVSS评分: 8.2
  • 漏洞类型: 配置注入
  • GitHub Issue: #131006

补充核验信息:公开时间:2025-03-25;NVD 评分:8.8(HIGH);CWE:CWE-20。

二、影响范围

2.1 受影响的版本

  • ingress-nginx v1.12.0 及之前版本
  • ingress-nginx v1.11.4 及之前版本

2.2 不受影响的版本

  • ingress-nginx v1.12.1+
  • ingress-nginx v1.11.5+

2.3 触发条件(如特定模块、特定配置、特定运行环境等)

  1. 攻击者能够创建 Ingress 对象
  2. 使用特殊的注解注入恶意 nginx 配置

三、漏洞详情与原理解析

3.1 漏洞触发机制

通过精心构造的 Ingress 对象,攻击者可以注入恶意 nginx 配置指令,可能导致: - Secret 数据泄露 - 未授权访问 - 服务拒绝

3.2 源码层面的根因分析(结合源码与补丁对比)

问题出在 nginx 配置注解的处理逻辑中,特别是 configuration-snippetserver-snippet 注解的验证不够严格。

四、漏洞复现(可选)

4.1 环境搭建

# 同 CVE-2025-1974

4.2 PoC 演示与测试过程

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: config-injection
  annotations:
    nginx.ingress.kubernetes.io/server-snippet: |
      # 注入的恶意配置
      location /hidden {
        return 200 "sensitive data";
      }
spec:
  rules:
  - host: example.com

五、修复建议与缓解措施

5.1 官方版本升级建议

升级到 ingress-nginx v1.12.1 或 v1.11.5。

5.2 临时缓解方案(如修改配置文件、关闭相关模块、增加 WAF 规则等)

限制 Ingress 创建权限,启用 RBAC 策略:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: ingress-creator
rules:
- apiGroups: ["networking.k8s.io"]
  resources: ["ingresses"]
  verbs: ["create", "update", "delete"]

六、参考信息 / 参考链接

6.1 官方安全通告

  • https://github.com/kubernetes/kubernetes/issues/131006

6.2 其他技术参考资料

  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2025-24514
  • CVE:https://www.cve.org/CVERecord?id=CVE-2025-24514
  • https://github.com/kubernetes/kubernetes/issues/131006
  • https://security.netapp.com/advisory/ntap-20250328-0008/
  • https://www.exploit-db.com/exploits/52475