关于Docker Engine AuthZ 插件授权绕过漏洞 (CVE-2024-41110)

news2024/9/9 1:26:14

一、漏洞概述

漏洞名称:Docker Engine AuthZ 插件授权绕过漏洞 (CVE-2024-41110)

漏洞等级:高危

漏洞描述:DockerEngine是Docker的核心组件,是一 个开源的容器引擎,负责构建、运行和管理容器。Docker Engine 的 AuthZ 插件是一种用于实现Docker访问控制机制 的插件,可以实现对Docker API的细粒度访问控制,增强 Docker 的安全性。当配置为使用AuthZ插件时存在授权绕过 漏洞,威胁者可以通过将 Content-Length 设置为 0 的 API 请求来利用该漏洞,导致 Docker 守护进程将没有正文 的请求转发给AuthZ 插件,AuthZ插件可能会错误地批准该 请求,从而导致执行未授权操作,如权限提升等。

二、影响范围

Docker Engine >= v19.03.x 且使用AuthZ 插件的用户 易受该漏洞影响,不使用AuthZ插件或运行旧版 Docker Engine 的用户不易受到影响,以下产品可能包含受影响的 Docker Engine 版本:

  Docker-CE <= v19.03.15
  Docker-CE <= v20.10.27
  Docker-CE <= v23.0.14
  Docker-CE <= v24.0.9
  Docker-CE <= v25.0.5
  Docker-CE <= v26.0.2
  Docker-CE <= v26.1.4
  Docker-CE <= v27.0.3
  Docker-CE <= v27.1.0
  Docker Desktop <= v4.32.0

注:Docker Engine 的 AuthZ 插件在DockerCE或Docker Desktop 中通常是可选插件。Docker EE v19.03.x 和 Mirantis Container Runtime 所有版本不受该漏洞影响

三、修复建议

升级版本 目前该漏洞已经修复,受影响用户可升级到以下版本: Docker Engine:升级到最新修复版本。 Docker-CE:升级到v27.1.1 及更高版本,或升级到相应分支版本的补丁版本。 Docker Desktop:升级到Docker Desktop 4.33(暂未发布)或更高版本。

下载链接: https://download.docker.com/linux/

临时措施 如无法立即更新,可实施以下缓解措施:

1.避免使用 AuthZ 插件。

2.确保只有受信任的实体能够访问DockerAPI,并遵循 最小权限原则。

参考链接: https://github.com/moby/moby/security/advisories/GHSA-v23v-6jw2-98fq

四、扩展信息

Moby 项目与 Docker 的关系
  • Docker 与 Moby: Docker 项目最初是从 Moby 项目中分离出来的,但后来两者之间的界限变得模糊。实际上,Docker 现在使用 Moby 项目中的组件作为其核心部分。

  • Docker CE: Docker Community Edition (CE) 是基于 Moby 项目构建的,它包含了 Moby 项目中的核心组件。

  • Moby 项目的独立性: Moby 项目可以独立于 Docker 运行,这意味着您可以使用 Moby 项目中的组件构建自己的容器化解决方案。

我们无法从Docker 产品发版信息处看到修复“CVE-2024-41110”的信息,但是从最新版本Moby可以看到修复了该漏洞,Moby的最新版本是25.0.6,而Docker CE的最新版本是v27.1.1。

Docker的插件

https://docs.docker.com/engine/extend/legacy_plugins/

Docker没有自己设计一套权限管理机制,而是设计了一套权限管理插件的机制,允许第三方的开发者自行设计权限管理的架构、模型、策略格式,然后通过统一的插件接口接入Docker,为Docker提供权限管理的服务。

Docker设计定义了Network plugins、Volume plugins、Authorization plugins三类插件的接口。插件的实现由第三方来完成。本次漏洞涉及的插件就是Authorization plugins,从官网信息上可知,有两类AuthZ实现。本次漏洞应该不是第三方插件实现本身有漏洞,否则也不会跟Docker Engine有关,应该是Docker定义的接口的漏洞。所以,不配置插件,也不会触发漏洞。

这里需要介绍一下Casbin项目。Casbin是一个国产开源项目,专注于解决Go语言中的权限管理问题。Casbin由北京大学罗杨博士在2017年4月发起,罗杨博士的研究方向为云计算访问控制,目前已发表数十篇相关学术论文,曾经在ICWS、IEEE CLOUD、ICICS等多个顶级学术会议进行论文宣讲。Casbin项目则是其研究成果的落地。Casbin(https://github.com/casbin/casbin)作为目前Golang语言中最主流的访问控制、权限管理开源库,也实现了一个Docker的Authorization Plugin,叫做:Casbin-authz-plugin。

另外,默认Docker并不会开启远程访问,只通过本机的socket,接受Docker命令访问。而Authorization plugins,不只是进行远程访问控制,对本地docker命令也会进行控制。例如定义了访问控制策略之后:

https://github.com/casbin/docker-casbin-plugin

 basic_policy.csv
 p, /v1.27/images/json, GET

上面的策略表示:grants anyone to perform GET on /v1.27/images/json,and deny all other requests. 所以效果如下:

 $ docker images
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
 hello-world         latest              48b5124b2768        3 months ago        1.84 kB
 ​
 $ docker info
 Error response from daemon: authorization denied by plugin casbin-authz-plugin: Access denied by casbin plugin

Docker 是否安装插件,可以通过 docker plugins ls查看,或者直接查看如下路径:

/run/docker/plugins

/etc/docker/plugins

/usr/lib/docker/plugins

https://docs.docker.com/engine/extend/plugins_authorization/

本来打算安装一下插件,但是需要FanQ(你懂的~~),就打消了这个念头。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1959006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

又一新AI搜索工具,OpenAI 推出新的搜索方式 SearchGPT

系列文章目录 每天推荐AI工具系列文章回顾&#xff1a; 选择 haiyi海艺图像生成、LoRA、模型的使用和训练网站 tusiart吐司艺术图像生成、LoRA 模型的使用和训练网站 解锁AI创造力的无限可能&#xff1a;探索Vivago.ai的革命性功能 文章目录 系列文章目录前言一、SearchGPT…

html+css+js前端作业和平精英6个页面页面带js

htmlcssjs前端作业和平精英6个页面页面带js 下载地址 https://download.csdn.net/download/qq_42431718/89595600 目录1 目录2 项目视频 htmlcssjs前端作业和平精英6个页面带js 页面1 页面2 页面3 页面4 页面5 页面6

锐捷RCNA | RGOS日常管理操作和Windows常用命令

RGOS操作系统最主要的三大特性是模块化、安全性、开放性。 RGOS平台登陆方式 平台概述 RGOS全称“锐捷通用操作系统”&#xff0c;即网络设备的操作系统 基于RGOS开发的软件版本目前为11.x&#xff0c;又被称为11.x平台优势 模块化设计&#xff0c;方便运维管理故障隔离&…

[ARC105E] Keep Graph Disconnected题解

题目 考虑加任意一条边时都会输的图的状态&#xff1a;图被分成两个强联通分量&#xff0c;每一个强联通分量都是一个完全图。 也就是说&#xff0c;假设一开始节点 1 1 1 和节点 n n n 不联通&#xff0c;那么还可以加 n ( n − 1 ) 2 − m − c n t 1 ( n − c n t 1 ) \…

78.SAP ME - SAP ME和SAP NetWeaver log files的位置

目录 1.defaultTrace files 内容 文件位置 2.dev_server files 内容 文件位置 3.dev_icm files 内容 文件位置 4.responses.trc files 内容 文件位置 1.defaultTrace files You should always check this log first when any system issue is reported 内容 包含…

经典文献阅读之--GraphAD(端到端自动驾驶的交互场景图)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…

什么是项目计划?项目计划如何制定?

做不好项目计划的项目管理&#xff0c;注定会失败&#xff01; 项目计划是帮助管理人员有效实现目标的非常重要的一环&#xff0c;在开始任何项目之前&#xff0c;制定一份详细的计划作为所有参与者的指导性文件非常重要。那么什么是项目计划&#xff1f;项目计划又该如何制定…

springboot集成thymeleaf实战

引言 笔者最近接到一个打印标签的需求&#xff0c;由于之前没有做过类似的功能&#xff0c;所以这也是一次学习探索的机会了&#xff0c;打印的效果图如下&#xff1a; 这个最终的打印是放在58mm*58mm的小标签纸上&#xff0c;条形码就是下面的35165165qweqweqe序列号生成的&…

民大食堂用餐小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;档口号管理&#xff0c;商家餐品管理&#xff0c;餐品种类管理&#xff0c;购物车管理&#xff0c;订单信息管理 微信端账号功能包括&#xff1a;系统首页&a…

pytorch-迁移学习

目录 1. 宝可梦数据集训练的问题2. 迁移学习3. 迁移学习实现4. 完整代码 1. 宝可梦数据集训练的问题 宝可梦数据总共有1000多张&#xff0c;对于resnet18网络来说数据量是不够的&#xff0c;训练时很容易出现过拟合&#xff0c;那么如何解决这个问题呢&#xff1f; 宝可梦数据…

常见的几种数据标注类型

数据标注是机器学习和人工智能项目中一个至关重要的步骤&#xff0c;它帮助算法理解输入数据中的关键特征。根据不同的应用场景和技术需求&#xff0c;数据标注可以分为多种类型。 以下是一些常见的数据标注类型&#xff1a; 图像标注&#xff1a; 边界框&#xff1a;在物体周…

手撕数据结构---栈和队列的概念以及实现

栈的概念&#xff1a; 栈&#xff1a;⼀种特殊的线性表&#xff0c;其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作的⼀端称为栈顶&#xff0c;另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈…

Doris-计算特性

1 全新优化器 1.1 如何开启1.2 统计信息 1.2.1 使用ANALYZE语句手动收集1.2.1 自动收集1.2.3 作业管理1.3 会话变量及配置项调优参数2 Join相关 2.1 支持的Join算子2.2 支持的shuffle方式 2.2.1 Broadcast Join2.2.2 Shuffle Join2.2.3 Bucket Shuffle Join 2.2.3.1 原理2.2.3.…

【CTFWP】ctfshow-web40

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 题目介绍&#xff1a;题目分析&#xff1a;payload&#xff1a;payload解释&#xff1a;payload2&#xff1a;payload2解释&#xff1a;flag 题目介绍&#xff1a; …

python-分享篇-用Python分析文本数据的词频

上次批量提取了上市公司主要业务信息&#xff0c;要分析这些文本数据&#xff0c;就需要做文本词频分析。由于中文不同于英文&#xff0c;词是由一个一个汉字组成的&#xff0c;而英文的词与词之间本身就有空格&#xff0c;所以中文的分词需要单独的库才能够实现&#xff0c;常…

2024年必备技能:小红书笔记评论自动采集,零基础也能学会的方法

摘要&#xff1a; 面对信息爆炸的2024年&#xff0c;小红书作为热门社交平台&#xff0c;其笔记评论成为市场洞察的金矿。本文将手把手教你&#xff0c;即便编程零基础&#xff0c;也能轻松学会利用Python自动化采集小红书笔记评论&#xff0c;解锁营销新策略&#xff0c;提升…

pmp学习交流组队~

首先&#xff0c;来看看什么是PMP PMP指的是项目管理专业人士资格认证。它是由美国项目管理协会&#xff08;Project Management Institute(PMI)发起的&#xff0c;严格评估项目管理人员知识技能是否具有高品质的资格认证考试。 pmp备考攻略本人推荐的参考资料比较多&#xff0…

MySQL 9 安装第1辑-版本选择和安装包获取

一、MySQL 9 版本选择 在准备安装MySQL时&#xff0c;选择合适的版本和分发格式至关重要。首先&#xff0c;需要决定是安装长期支持&#xff08;LTS&#xff09;系列版本还是创新系列版本。长期支持版本&#xff08;如MySQL 8.x LTS&#xff09;专注于稳定性、性能优化和安全性…

RocketMQ知识总结(基本原理)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 基本原理 总体架构图 零拷贝 零拷贝技术是一个思想&#xff0c;指…

蓝屏事件一些想法

影响全球的蓝屏事件 2024年7月19日发生了大量windows操作系统电脑蓝屏的事情&#xff0c;造成了全球级别的影响。其中国外的影响最大&#xff0c;甚至像医院、银行、航班等与人民生活密切相关的行业都受到了本次影响。导致全球数千架次航班被取消&#xff0c;数万架次航班延误…