Linux Kernel是Linux操作系统的核心组件,负责管理系统的资源、进程、内存、设备等。Linux Kernel经常更新以修复漏洞、增加功能和提高性能。然而,有时候更新也会引入新的漏洞,给系统带来安全风险。近日,安全研究人员在 Linux Kernel 中发现了一个高危漏洞,漏洞编号为 CVE-2023-0386,属于系统漏洞类型,存在 EXP。

该漏洞存在于 Linux Kernel 的 OverlayFS 子系统中,攻击者可以利用该漏洞未经授权地访问具有功能的 setuid 文件的执行,即攻击者可以将一个有能力的文件从一个 nosuid 挂载复制到另一个挂载中,从而升级他们在系统上的权限。

**漏洞原理**

OverlayFS是一种文件系统类型,它可以将多个不同的文件系统层叠在一起,形成一个统一的视图。OverlayFS有两种层:下层(lowerdir)和上层(upperdir)。下层是只读的,上层是可写的。当用户访问一个文件时,OverlayFS会先在上层查找,如果找不到,则再在下层查找。当用户修改一个文件时,OverlayFS会将该文件从下层复制到上层,并在上层进行修改。这样就可以保证下层不被改变。

setuid文件是一种特殊类型的文件,它可以让执行该文件的用户获得该文件所有者的权限。例如,passwd文件就是一个setuid文件,它可以让普通用户修改自己的密码。setuid文件通常具有一些特殊的功能(capabilities),比如CAP_DAC_OVERRIDE(绕过文件权限检查)、CAP_SYS_ADMIN(执行系统管理任务)等。这些功能可以让setuid文件执行一些需要高权限的操作。

nosuid挂载是一种特殊类型的挂载,它可以禁止在该挂载中执行setuid文件。这样就可以防止攻击者利用setuid文件来提升自己的权限。

该漏洞是由于Linux Kernel在处理OverlayFS中的setuid文件时没有正确地映射用户ID导致的。当用户将一个有能力的文件从一个nosuid挂载复制到另一个挂载中时,Linux Kernel没有检查目标挂载是否支持setuid文件,并且没有正确地设置目标文件的用户ID和功能。这样就导致目标文件保留了原来文件的用户ID和功能,并且可以在目标挂载中被执行。如果攻击者能够控制目标挂载,并且能够访问目标文件,就可以利用该漏洞来执行具有高权限的操作。

**影响范围**

该漏洞影响了Linux Kernel 4.18.0-193及之后的版本。如果您使用了这些版本,并且使用了OverlayFS来叠加不同的文件系统,那么您可能存在该漏洞。

**风险级别**

该漏洞被评为高危。因为该漏洞可以让攻击者未经授权地访问具有功能的setuid文件的执行,从而进行本地提权攻击。如果攻击者能够控制目标挂载,并且能够访问目标文件,就可以利用该漏洞来执行任意命令。

**利用方法**

利用该漏洞的方法有多种,以下是一些常见的例子:

- 利用已有的EXP来自动化地探测和利用该漏洞。该EXP可以在GitHub上找到,它可以创建一个有能力的文件,并将其从一个nosuid挂载复制到另一个挂载中,从而触发该漏洞。
- 利用OverlayFS和setuid文件来执行任意命令。具体步骤如下:
  - 创建一个有能力的文件,比如一个具有CAP_DAC_OVERRIDE功能的文件,它可以绕过文件权限检查。
  - 将该文件放在一个nosuid挂载中,比如/tmp目录。
  - 创建一个OverlayFS,并将/tmp目录作为下层,另一个可写的目录作为上层。
  - 将该文件从/tmp目录复制到上层目录中,从而触发该漏洞。
  - 在上层目录中执行该文件,从而执行任意命令。

**修复措施**

针对该漏洞,我们可以采取以下措施来修复:

- 升级操作系统

由于 CentOS8 已经停止更新,因此建议用户升级到 CentOS Stream release 8 版本。

- 执行 yum update kernel

升级操作系统后,用户还需要执行 yum update kernel 命令来更新内核,以确保漏洞被完全修复。

- 在修复前,用户可以采取一些措施来降低风险,比如避免使用OverlayFS来叠加不同的文件系统、避免在nosuid挂载中放置有能力的文件等。
- 定期监测系统的运行状态和日志,发现异常及时处理。

**总结**

Linux Kernel OverlayFS子系统本地提权漏洞(CVE-2023-0386)是一种由于用户ID映射错误导致的漏洞,攻击者可以利用该漏洞未经授权地访问具有功能的setuid文件的执行,从而进行本地提权攻击。为了保障系统的安全,建议用户尽快升级到最新版本,并加强系统的安全配置和监测。

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部