CVE-2023-0386 Linux本地提权漏洞EXP

渗透技巧 1年前 (2023) admin
550 0 0

0x1 漏洞概述

OverlayFS是一个面向Linux的文件系统服务,其实现一个面向其他文件系统的联合挂载。

RCS-TEAM监测到Linux Kernel 权限提升漏洞(CVE-2023-0386)。该漏洞的CVSS评分最高为7.8,已在Linux kernel 6.2-rc6中修复。

Linux内核的OverlayFS子系统中存在漏洞,当用户将一个具有权限的文件从一个nosuid挂载点复制到另一个挂载点时,可能导致未授权访问执行setuid文件,从而导致本地权限提升。该漏洞属于高危漏洞,团队在Ubuntu 22.04复现了该漏洞,这里提醒大家,该漏洞会成为红队利器。

0x2 影响范围

5.11 <= Linux Kernel < 6.2-rc6

0x3 防范措施

目前该漏洞已经修复,受影响用户可升级到以下版本:

Linux kernel 版本:>=6.2-rc6

下载链接:

https://kernel.org/

0x4 漏洞原理

这个漏洞存在于 Linux 内核的 OverlayFS 子系统中,它允许用户在没有授权的情况下执行具有 suid 权限的文件。这个问题源于 OverlayFS 如何处理用户从一个 nosuid 挂载点复制一个具有能力的文件到另一个挂载点的情况。这个 uid 映射错误允许本地用户在系统上提升他们的权限。

4.1 Overlay FS系统介绍

Overlay 是一种 Linux 文件系统组件,用于实现一种可写的文件系统层(upper layer),并通过挂载两个文件系统来实现文件层次结构的组合。具体来说,它是一种用于容器和虚拟化环境的轻量级文件系统,通常用于在只读根文件系统之上创建一个可写层,以便应用程序可以在其中进行更改而不会影响到根文件系统。如下图Overlay分层结构:

CVE-2023-0386 Linux本地提权漏洞EXP


1.Merged 层:这是一个虚拟的、合成的视图,它将 lower 层和 upper 层合并在一起。当用户访问 Overlay 文件系统时,他们看到的是这个 merged 层。在这个层中,来自 upper 层的更改会覆盖 lower 层的相应文件。对于同名文件 upper 层中的文件优先级更高。对于同名目录,则合并,只判断目录中的文件是否有上下层覆盖屏蔽关系。用户最终看到的是这个视图。

2.Upper 层:这是一个可写的文件系统层,它存储所有对 lower 层文件的更改。这包括文件修改、创建和删除操作。

3.Workdir 目录:这是一个与 upper 层在同一文件系统中的可写目录,用于存储一些中间数据和元数据,以支持 OverlayFS 的正常运行。

4.Lower 层:这是基础文件系统层,只读。一个 Overlay 文件系统可以有一个或多个 lower 层。此层拥有写时复制特性(copy-up),当想要修改 lower 层不可修改的 fileC 时,先拷贝副本到 upper 层,修改后呈现到 merged 视图。

4.2 漏洞完整利用链

1. 在 fuseFS 中制作拥有 suid 权限拥有者为 root 用户的后门程序 hello,挂载 fuseFS 到自建的 mount_fuse 目录。

2. 创建新用户命名空间(root 用户)、新挂载命名空间(用于 overlayFS 挂载)、新 PID 命名空间。

3. 挂载 overlayFS 到新用户命名空间,创建各层文件目录,将第一步挂载的 mount_fuse 目录设置为 lower 层。

4. 将 hello 的 suid 属性从 fuseFS 的 nosuid 环境中带出来,带到 upper 层,退出新用户命名空间后 hello 保留 suid 及拥有者为 root 用户。

5. 将挂载的文件系统都退出,最后会在 upper 文件留下提权可执行后门 hello 进行提权。


0x5 Exp

CVE-2023-0386 Linux本地提权漏洞EXP

CVE-2023-0386 Linux本地提权漏洞EXP

CVE-2023-0386 Linux本地提权漏洞EXP

CVE-2023-0386 Linux本地提权漏洞EXP


原文始发于微信公众号(小白嘿课):CVE-2023-0386 Linux本地提权漏洞EXP

版权声明:admin 发表于 2023年6月21日 上午9:20。
转载请注明:CVE-2023-0386 Linux本地提权漏洞EXP | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...