在 Linux Snap 的包管理器中发现严重的权限提升错误
![Serious privilege escalation errors found in Linux Snap's package manager](https://zmzme.com/wp-content/uploads/2022/02/sigmund-AxAPuIRWHGk-unsplash.jpg)
在 Linux Snap 的包管理器中发现严重的权限提升错误
专家在 Snap 中发现了一个易于利用的漏洞,Snap 是一个为 Ubuntu 设计的全球应用程序打包和分发系统,但在许多 Linux 发行版上都可用。该漏洞允许低权限用户以 root 身份执行恶意代码,这是 Linux 中最高的管理帐户。
该漏洞名为 CVE-2021-44731,是 Qualys 研究人员在 Snap 安全调查期间在多个 Linux 组件中发现的一系列漏洞的一部分。后者以及另一个名为 CVE-2021-44730 的文件可以在 snap-confine 中找到,该工具负责为 Snap 应用程序创建沙箱。
什么是快照?
Snap 是由 Canonical 开发的 Linux 包管理器,位于流行的 Ubuntu 桌面和服务器发行版之后。它允许您打包和分发称为“快照”的独立应用程序,这些应用程序在受限容器内运行,提供可配置的安全级别。
还要检查:
作为独立的应用程序,Snap 没有外部依赖,这使得它可以跨平台和跨平台分布。传统上,所有主要的 Linux 发行版都维护自己的存储库和软件管理器。Debian 有 DEB,Ubuntu 有 PPA,Fedora 和 Red Hat 有 RPM,Arch Linux 有 Pacman,等等。所有这些系统都将所需的包与所有其他依赖项一起下载为单独的包。另一方面,Snap 与您需要的所有依赖项捆绑在一起,使其可在所有配备 Snap 的 Linux 系统上全局部署。
Snap 默认在 Ubuntu 和许多 Linux 发行版上提供,并且在许多其他发行版(包括主要发行版)上作为一个选项提供。它不仅用于分发桌面,还用于分发云和物联网应用程序。
Snap Confinement – 或 Quarantine – 具有三个安全级别,大多数应用程序都使用严格模式。在这种模式下,应用程序必须请求访问文件、其他进程或网络。这与应用程序的沙盒模型和 Android 等移动操作系统的权限没有什么不同。
由于应用程序沙盒是 Snap 的主要功能之一,因此任何允许您摆脱这种隔离并控制主机系统的漏洞都被认为是极其危险的。
权限提升错误
Qualys 研究人员将其有限的漏洞称为“哦,快!更多旅鼠”,因为它类似于 2019 年发现的另一个闪电,称为脏袜子。自从 Dirty Sock 以来,Snap 已经接受了 SUSE 安全团队的广泛安全审计,并且通常采用非常防御性的编程方式,利用了几个核心安全功能。例如 AppArmor 配置文件、seccomp 过滤器和命名空间。
“几天后我们几乎放弃了审计,”Qualys 研究人员在他们的报告中说,并补充说“一个有限的漏洞(尤其是在默认的 Ubuntu 安装中)极难检测和利用。”
然而,团队注意到一些小缺陷并决定继续前进。这导致发现了两个提权漏洞:CVE-2021-44730,一种只能在非虚拟配置中使用的硬链接攻击,即当内核的 fs.protected_hardlinks 为 0 时;和 CVE-2021-44731,这是一种竞争状态,可用于虚拟 Ubuntu 桌面安装和半虚拟 Ubuntu 服务器安装。
“这个竞赛案例开辟了一个充满可能性的世界:在 snap 的挂载命名空间内(我们可以通过 snap-confine 本身进入),我们可以创建一个全局可写、不可粘贴的目录到 /tmp,或者我们可以挂载任何其他目录作为文件系统一部分的目录到 /tmp ”- Qualysa 分析师说。“我们可以通过使用 inotify 观察 /tmp/snap.lxd、安装我们的漏洞利用并使用 Sched_setaffinity() 将我们限制在同一个 CPU 以及使用 setpriority() 和 schedule_schedule 降低 snap-cline 调度优先级来可靠地赢得这种竞争状态。( )”。
在调查这些缺陷时,Qualys 研究人员还发现了 Snap 使用的库和其他相关组件中的错误:libmount util-linuxa 中的未授权挂载(CVE-2021-3996 和 CVE-2021-3995);来自 realpath() glibc 的意外返回值 (CVE-2021-3998);通过 getcwd() glibc 中的一个缓冲区溢出/流出 (CVE-2021-3999);systemd-tmpfiles 中不受控制的递归 (CVE-2021-3997)。今年早些时候,这些组件中的这些错误已得到纠正。
Ubuntu 已经为它支持的大多数 Linux 版本发布了 CVE-2021-44731 和 CVE-2021-44730 的补丁,但 ESM 16.04(扩展安全维护)除外,它仍在等待补丁。这两个漏洞都被评为非常危险。
资料来源:公民社会组织
.