无补丁:所有 Kubernetes 版本均受中间人 0day 漏洞影响

2024-01-12 07:58

本文主要是介绍无补丁:所有 Kubernetes 版本均受中间人 0day 漏洞影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

Kubernetes 产品安全委员会发布了关于如何临时阻止攻击者利用某 0day 漏洞的建议。该漏洞可导致攻击者在中间人攻击中拦截多租户 K8s 群集中其它 pod 的流量。

K8s 最初由谷歌开发,目前由云原生计算基金会 (Cloud Native Computing Foundation) 维护的开源系统,旨在对容器化工作负载、服务和应用在主机群集上的部署、规模化和管理进行自动化。自动化通过将 app 容器组织为 pod、节点(物理机或虚拟机)和群集实现,其中多个节点形成一个由主节点管理的群集,该主节点负责协调和群集相关的任务如扩展、调度或更新应用程序。

受影响服务并未大规模部署

该漏洞是由Anevia 公司研究员A Etienne Champetier 报告的中危漏洞,编号为 CVE-2020-8554。攻击者只需基本的租户权限(如创建或编辑服务和 pod),就能够远程利用该漏洞,无需任何用户交互。

该漏洞是一个设计缺陷,影响所有的 K8s 版本,其中多租户群集可导致租户创建并更新服务和 pod,使其易受攻击。

在苹果公司负责 K8s 安全工作的软件工程师 Tim Allclair 在安全公告中指出,“如果潜在的攻击者已经能够创建或编辑服务和 pod,则就能够拦截群集中其它 pod(或节点)中的流量。如果通过一个任意的外部 IP 创建服务,则该外部 IP 源自群集中的流量将被路由到该服务。这就导致具有以外部 IP 创建服务的权限的攻击者将流量拦截到任意目标 IP。“

幸运的是,鉴于外部 IP 服务并不广泛应用于多租户群集中,因此该漏洞应该仅影响少量 K8s 部署,因此不建议授予多租户用户 LoadBalancer 补丁服务/状况的权限。

如何拦截 exploit

由于 K8s 开发团队尚未发布安全更新解决该漏洞,因此建议管理员限制对易受攻击功能的访问权限,从而缓解该漏洞。用户可使用允许进入 Webhook 容器限制外部 IP 的使用,源代码和部署指南可见:https://github.com/kubernetes-sigs/externalip-webhook。此外,也可通过Open Policy Agent Gatekeeper 策略控制限制外部 IP。

目前并不存在针对LoadBalancer IP 的缓解措施,原因是所推荐的配置并不受影响,但如需限制,则关于外部IP的建议也适用于 LoadBalancer IP。

要检测尝试利用该漏洞的攻击活动,用户必须手动审计使用易受攻击特征的多租户群集中的外部 IP使用情况。Allclair 表示,“外部 IP 服务的使用范围并不广大,因此我们建议手动审计外部 IP 的使用情况。用户不应当修复服务状态,因此如果出现需认证修复服务状态的审计事件,则需引起注意。”

推荐阅读

Kubernetes CLI 工具被曝严重漏洞,谷歌K8S也受影响

FortiGate VPN 默认配置可导致中间人攻击

原文链接

https://www.bleepingcomputer.com/news/security/all-kubernetes-versions-affected-by-unpatched-mitm-vulnerability/

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    觉得不错,就点个 “在看” 或 "赞” 吧~

这篇关于无补丁:所有 Kubernetes 版本均受中间人 0day 漏洞影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597246

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-