社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

【漏洞通告】Kubernetes Ingress-nginx注解验证绕过漏洞(CVE-2024-7646)

启明星辰安全简讯 • 7 月前 • 555 次点击  
一、漏洞概述
漏洞名称

Kubernetes Ingress-nginx注解验证绕过漏洞

CVE   ID

CVE-2024-7646

漏洞类型

验证绕过、命令注入

发现时间

2024-08-19

漏洞评分

8.8

漏洞等级

高危

攻击向量

网络

所需权限

利用难度

用户交互

PoC/EXP

未公开

在野利用

未发现

ingress-nginx是Kubernetes中一个流行的Ingress控制器,它使用NGINX作为反向代理和负载均衡器,旨在用于管理外部访问到Kubernetes集群内部服务的路由。

2024年8月19日,启明星辰集团VSRC监测到Ingress-nginx中存在一个验证绕过命令注入漏洞(CVE-2024-7646),该漏洞的CVSS评分为8.8。

ingress-nginx 控制器 v1.11.2之前版本中,有权在Kubernetes集群中创建Ingress对象(属于networking.k8s.io或extensions API组)的威胁者可以绕过注解验证并注入任意命令,进而获取ingress-nginx控制器的凭证,访问集群中存储的所有敏感信息。


二、影响范围

ingress-nginx controller < v1.11.2


三、安全措施

3.1 升级版本

目前该漏洞已经修复,受影响用户可升级到ingress-nginx controller v1.11.2。

下载链接:

https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.11.2

3.2 临时措施

该漏洞影响 ingress-nginx,如果集群上未安装 ingress-nginx,则不会受到影响。可以通过以下方式之一来检查集群上是否存在ingress-nginx控制器:

1.检查是否存在 ingress-nginx 命名空间:

使用kubectl get namespaces命令,如果输出中包含 ingress-nginx,则表明集群中存在与 ingress-nginx 相关的资源;或者通过kubectl get all -n ingress-nginx命令列出 ingress-nginx 命名空间中所有的 Pod、服务、部署等资源。如果看到有名为ingress-nginx-controller 的 Deployment 或 Pod,说明 ingress-nginx 控制器已经安装。

2. 通过在Kubernetes 环境中查找与 ingress-nginx-controller 相关的 Pod:

kubectl get po -A | grep ingress-nginx-controller

3.检查是否存在 ingress-nginx-controller 部署

使用命令kubectl get deployments --all-namespaces | grep ingress-nginx,如果输出中包含 ingress-nginx-controller 部署,说明 ingress-nginx控制器已被安装。

检测与缓解

管理员可通过检查 Kubernetes 审计日志中是否存在任何可疑的 Ingress 对象,尤其是包含回车符 ( \r) 的注解,因为回车符(\r)可能被用于注入恶意代码或绕过某些验证机制。如果在 Kubernetes 审计日志中发现包含回车符 (\r) 的注解,确认是否存在恶意或异常的内容。可以使用 kubectl get ingress -o yaml 命令查看详细的配置。如果确认有恶意注解或不安全的配置,可考虑:

l暂时隔离受影响的服务或命名空间,以防止进一步攻击;

l删除或修复 Ingress:通过 kubectl delete ingress 删除受影响的 Ingress 对象,或者手动编辑注解去除不安全的字符。修复后的对象应重新应用至集群中。

3.3 通用建议

定期更新系统补丁,减少系统漏洞,提升服务器的安全性。

加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。

使用企业级安全产品,提升企业的网络安全性能。

加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。

启用强密码策略并设置为定期修改。

3.4 参考链接

https://groups.google.com/g/kubernetes-security-announce/c/a1__cKjWkfA

https://github.com/kubernetes/kubernetes/issues/126744



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/173348
 
555 次点击