Snapd中的错误允许获得root特权

抢购

在Snapd中发现一个漏洞 (已经在(CVE-2019-7304), 允许非特权用户获得管理员特权 (root)在系统上。

对于那些不熟悉Snapd的人,我们可以告诉您,这是一个用于管理snap格式的自包含软件包的工具包。 为了测试系统的漏洞,发布了该漏洞利用程序的两个原型。

  • 第一个允许攻击者在系统中创建新用户。
  • 第二种方法使攻击者能够在系统上安装任何类型的即时程序包并以root用户身份运行代码(通过在安装程序包时以root特权调用带有驱动程序附件的“ devmode”模式安装程序包)。

这些漏洞是什么?

为利用第一种可能性而开发的漏洞利用 以上 跳过访问控制检查 使用本地快照服务的受限API函数。

这将从提供​​的电子邮件地址中向系统查询用户名和公共S​​SH密钥,然后根据该值创建本地用户。

要成功利用此版本,需要传出Internet连接和可通过localhost访问的SSH服务。

创建第二个漏洞 为了利用所指出的第二点,与先前描述的漏洞不同, 它不需要运行SSH服务。

它可以在没有互联网连接的较新版本的Ubuntu上运行, 使其能够抵抗变化并在受限的环境中有效。

这个漏洞 它也应该在已安装快照但不符合API的非Ubuntu系统上有效 由于Linux Shell语法。

一些较旧的Ubuntu系统(例如版本16.04)可能没有安装下载所需的快照组件。

在这种情况下,此版本的漏洞利用可以触发它安装那些依赖项。 在该安装过程中,可将snapd升级到非漏洞版本。

要了解更多有关这些的信息,您可以获取更多详细信息 在下面的链接中。

发现的故障包括什么?

该漏洞是由于 处理外部套接字地址时无法在快照中进行适当的检查 在评估Unix套接字的访问权限的过程中。

通过Unix套接字处理对API的请求时, 检查与连接关联的用户的UID,并基于此做出访问决策。

用户可以附加字符串 «; uid = 0; » 到带有套接字的文件名 (例如,创建一个套接字“ / tmp / sock; uid = 0;”),此字符串将作为客户端套接字地址的一部分进行处理。

在捕捉参数时, 通过使用掩码的循环搜索来分配用户标识符 “;在包含套接字文件的名称的行上,Uid =”(例如,在创建客户端套接字“ / tmp / sock; uid = 0;”时,该行的形式为“ pid = 5275; uid = 1000;套接字= /运行/ snapd.socket; / tmp /袜子; uid = 0;«)。

因此, 如果有链 “; Uid = 0;” 在套接字名称中,将从中分配标识符,而不是从具有实际UID的常规参数中分配标识符。

本地攻击者可以使用此错误来访问套接字/run/snapd.socket到快照特权API并获得管理员特权(以前的漏洞使用v2 / create-user和/ v2 / snap API)。

它会影响哪些版本,并且已经存在解决方案?

问题表现出来 从2.28到2.37的快照版本,并影响所有受支持的Ubuntu分支 (从14.04到18.10)以及从上述任何版本衍生的发行版中。

问题 也影响Fedora和Debian发行版,其中常规存储库提供了快照。

该漏洞已在快照2.37.1版本中修复。,以及Ubuntu和Debian发行版的软件包更新。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。