OverlayFS 中允许权限提升的漏洞

Linux 内核在 OverlayFS 文件系统 (CVE-2023-0386) 的实现中发现了一个漏洞,该漏洞可用于在安装了 FUSE 子系统的系统上获得 root 访问权限,并允许非特权用户安装 OverlayFS 分区用户(从包含非特权用户命名空间的 Linux 5.11 内核开始)。 该问题已在 6.2 内核分支中得到修复。 可以在以下页面上跟踪发行版中软件包更新的发布:Debian、Ubuntu、Gentoo、RHEL、SUSE、Fedora、Arch。

攻击是通过将带有 setgid/setuid 标志的文件从以 nosuid 模式安装的分区复制到 OverlayFS 分区来执行的,该分区具有与允许 suid 文件执行的分区关联的层。 该漏洞类似于2021年发现的CVE-3847-2021问题,但不同之处在于较低的利用要求——旧问题需要操作xattrs,仅限于使用用户命名空间(user namespace),新问题使用bits setgid /setuid 没有在用户命名空间中专门处理。

攻击算法:

  • 在 FUSE 子系统的帮助下,挂载了一个文件系统,其中有一个由 root 用户拥有的带有 setuid / setgid 标志的可执行文件,可供所有用户写入。 安装时,FUSE 将模式设置为“nosuid”。
  • 取消共享用户命名空间和挂载点(用户/挂载命名空间)。
  • OverlayFS以之前在FUSE中创建的FS为底层挂载,顶层基于可写目录。 顶层目录必须位于挂载时不使用“nosuid”标志的文件系统中。
  • 对于 FUSE 分区中的 suid 文件,touch 实用程序会更改修改时间,从而将其复制到 OverlayFS 的顶层。
  • 复制时,内核没有去掉setgid/setuid标志位,导致文件出现在setgid/setuid可以处理的分区上。
  • 要获得 root 权限,从附加到 OverlayFS 顶层的目录运行带有 setgid/setuid 标志的文件就足够了。

此外,我们可以注意到 Google 零项目团队的研究人员披露了有关 Linux 5.15 内核主要分支中已修复但未移植到 RHEL 8.x/9.x 和内核包的三个漏洞的信息CentOS 流 9。

  • CVE-2023-1252 - 访问 ovl_aio_req 结构中已释放的内存区域,同时在部署在 Ext4 文件系统之上的 OverlayFS 中同时执行多个操作。 潜在地,该漏洞允许您增加您在系统中的权限。
  • CVE-2023-0590 - 引用 qdisc_graft() 函数中已释放的内存区域。 假定操作仅限于中止。
  • CVE-2023-1249 - 由于 file_files_note 中缺少 mmap_lock 调用,访问 coredump 入口代码中已释放的内存区域。 假定操作仅限于中止。

来源: opennet.ru

添加评论