当前位置: 首页 > news >正文

Kubernetes首爆严重安全漏洞,请升级你的Kubernetes

Kubernetes最近爆出特权升级漏洞,这是Kubernetes的首个重大安全漏洞。为了修补这个严重的漏洞,Kubernetes近日推出了几个新版本。

谷歌高级工程师Jordan Liggitt在周一发布的Kubernetes安全公告中称,Kubernetes v1.10.11、v1.11.5,v1.12.3和v1.13.0-rc.1已经发布了修复版本,修复了特权升级漏洞CVE-2018-1002105(https://access.redhat.com/security/vulnerabilities/3716411)。

这个错误的严重程度被指定为9.8(满分10分),因为它可以远程执行,攻击并不复杂,不需要用户交互或特殊权限。

根据Liggitt的说法,恶意用户可以通过Kubernetes API服务器连接到后端服务器,利用API服务器的TLS凭证进行身份验证并发送任意请求。

API服务器是Kubernetes的主要管理实体,它与分布式存储控制器etcd和kublet发生交互,这些代理会监视容器集群中的每个节点。

Rancher Labs的首席架构师兼联合创始人Darren Shepherd发现了这个漏洞。

Red Hat OpenShift是一个面向企业的容器平台,已经为所有产品打上了补丁。

Red Hat OpenShift总经理Ashesh Badani在一篇博文中表示:“这是一个大问题。不法分子不仅可以窃取敏感数据或注入恶意代码,还可以从企业防火墙内破坏应用程序和服务”。

该漏洞主要有两个攻击媒介。

  • 首先,默认情况下,拥有Pod exec/attach/portforward权限的个人可以成为集群管理员,从而​​获得对Pod中任意容器及潜在信息的访问权限。

  • 第二种方法可以让一个未经身份验证的用户访问API,创建未经批准的服务,这些服务可用于注入恶意代码。

Red Hat产品安全保障经理Christopher Robinson在给The Register的一封电子邮件中解释说,“任何未经身份验证但有权限访问Kubernetes环境的用户都可以访问用于代理聚合API服务器(不是kube-apiserver)的端点”。

“向API发送一个消息,造成升级失败,但连接仍然活跃,这个时候可以重用任意标头,获得集群管理员级别的访问权限来访问聚合API服务器。这可以被用于服务目录,进而创建任意服务实例。”

这个漏洞之所以令人如此不安,是因为未经授权的请求很难被检测到。根据Liggitt的说法,它们不会出现在Kubernetes API服务器的审计日志或服务器日志中。恶意请求在kublet或聚合API服务器日志中是可见的,但却难以将它们与经过授权的请求区分开来。

现在的修复办法只有一个,那就是升级Kubernetes,就现在。 Kubernetes v1.10.11,v1.11.5,v1.12.3和v1.13.0-rc.1已经发布了修补版本。

如果你仍在使用Kubernetes v1.0.x-1.9.x,请更新到修补版本。 如果由于某种原因无法升级,还是有补救措施,但破坏性很大:必须暂停使用聚合的API服务器,并从不应有kubelet API完全访问权限的用户中删除pod exec / attach / portforward权限。Jordan Liggitt表示,这些补救措施可能具有破坏性。

所以唯一的解决方法是升级Kubernetes。

虽然现在还没有人利用这个漏洞进行共计,但是滥用漏洞会在日志中留下明显的痕迹。 而且,既然有关Kubernetes特权升级漏洞的消息已经公开,那么这个漏洞被滥用只是时间问题。

因此,在陷入困境之前,还是对Kubernetes系统进行升级吧。

参考链接:

https://www.theregister.co.uk/2018/12/03/container_code_clusterfact_theres_a_hole_in_kubernetes

https://www.zdnet.com/article/kubernetes-first-major-security-hole-discovered/#ftag=RSSbaffb68

相关文章:

  • oracle asm amdu和dd使用
  • shell脚本编程之“最简单的死循环”【转】
  • 用户,组和权限零碎知识
  • Java 与 PHP 的MD5加密方法
  • 关闭webstorm(2017.3.5)的分号检测
  • vue 之 .sync 修饰符
  • 75、STP环路防护UDLD、Loop Guard简介
  • TensorFlow提示AVX2...
  • 【转】Android自动化测试(UiAutomator)简要介绍
  • 进程 守护
  • sharepoint2013用场管理员进行文档库的爬网提示没有权限,拒绝的解决方法
  • Android中callback(接口回调)机制
  • 模式探索仍有心结,呷哺呷哺应该投入智能科技的怀抱?
  • HTTP请求中POST与GET的差别
  • DESTOON7.0农产品B2B供应求购交易平台源码
  • 收藏网友的 源程序下载网
  • CentOS 7 修改主机名
  • create-react-app做的留言板
  • Java超时控制的实现
  • Java基本数据类型之Number
  • MySQL用户中的%到底包不包括localhost?
  • Next.js之基础概念(二)
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Spark学习笔记之相关记录
  • Vue官网教程学习过程中值得记录的一些事情
  • vue--为什么data属性必须是一个函数
  • 观察者模式实现非直接耦合
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 面试总结JavaScript篇
  • 前端面试总结(at, md)
  • 前端知识点整理(待续)
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 小李飞刀:SQL题目刷起来!
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​插件化DPI在商用WIFI中的价值
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (1)无线电失控保护(二)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (js)循环条件满足时终止循环
  • (poj1.3.2)1791(构造法模拟)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (八)c52学习之旅-中断实验
  • (备忘)Java Map 遍历
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)Linux——Linux常用指令
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (离散数学)逻辑连接词
  • (强烈推荐)移动端音视频从零到上手(上)
  • (四)TensorRT | 基于 GPU 端的 Python 推理