写点什么

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

无明,张婵整理

2018 年 12 月 04 日

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


2018 年 12 月 04 日 11:271883

评论 1 条评论

发布
暂无评论
发现更多内容

我敢说,这个版本的斗地主你肯定没玩过?

华为云开发者社区

命令行 游戏 斗地主

如何让知识图谱告诉你“故障根因”

华为云开发者社区

华为云 知识图谱 图谱

高并发系列——CAS操作及CPU底层操作解析

诸葛小猿

CAS AtomicInteger compareAndSwap cmpxchg lock

Spring IoC 到底是什么?

小齐本齐

spring 程序员 ioc Spring Framework Spring Bean

音乐创作者必备软件,轻松玩转原创

奈奈的杂社

音乐制作 编曲 电音 作曲 乐团

所见即所得的用户增长技术背后是如何实现的

海豚调度

用户增长 大数据技术 大数据架构 用户增长技术 ad-hoc技术

区块链交易系统开发,期货合约平台搭建

13823153121

Mysql学习笔记:分库分表(sharding)

马迪奥

MySQL Sharding

如何正确设置Java.home

谷鱼

Java String 面面观

keaper

Java string pool string

两年Java工作经验涨到23K,这究竟是怎么做到的?

Java架构师迁哥

区块链技术最重要价值所在

CECBC区块链专委会

区块链 数字经济 互联网革命

端-边-云全面协同创新 英特尔携手百度共推产业智能化升级

新闻科技资讯

python——深入类和对象

菜鸟小sailor 🐕

一次代码评审,差点过不了试用期!

小傅哥

Java 小傅哥 代码质量 代码优化 代码规范

云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心

华为云开发者社区

gpu caffe

开源决策树工具xDecision简介

赫杰辉

决策树 可视化 简化代码

拥抱K8S系列-07-部署K8S集群(Rancher)

张无忌

Kubernetes rancher

oeasy 教您玩转 linux 010214 画面转文字 asciiview

o

Js 封装:阻止频繁重复操作

lockdown56

架构师期末作业

傻傻的帅

Mysql学习笔记:InnoDB索引结构浅析

马迪奥

MySQL 索引结构 innodb

有关 HashMap 面试会问的一切

小齐本齐

Java 数据结构 算法

设计模式只是一把锤子

博文视点Broadview

读书笔记 编程 面向对象 设计模式

区块链技术与我们的生活将并存

CECBC区块链专委会

区块链 数字经济

如何搭建第一个 Spring 项目?

小齐本齐

spring Spring Framework Spring Bean

解Bug之路-记一次JVM堆外内存泄露Bug的查找

无毁的湖光

Linux JVM heap memory GC Linux Kenel

知识点总结

Acker飏

不懂 ZooKeeper?没关系,这一篇给你讲的明明白白

海星

SpringBoot写后端接口,看这一篇就够了!

华为云开发者社区

后端 swagger pringboot

区块链合约层是一种自动执行的数字协议

CECBC区块链专委会

区块链 智能合约

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