一、漏洞简介¶
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 触发条件(如特定模块、特定配置、特定运行环境等)¶
- 攻击者能够创建 Ingress 对象
- 使用特殊的注解注入恶意 nginx 配置
三、漏洞详情与原理解析¶
3.1 漏洞触发机制¶
通过精心构造的 Ingress 对象,攻击者可以注入恶意 nginx 配置指令,可能导致: - Secret 数据泄露 - 未授权访问 - 服务拒绝
3.2 源码层面的根因分析(结合源码与补丁对比)¶
问题出在 nginx 配置注解的处理逻辑中,特别是 configuration-snippet 和 server-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