Linux曝出内核安全漏洞 非特权用户可获得root权限

在 Linux 内核中发现了一个漏洞,使一些低权限账户有可能在一些流行的发行版上获得 root 权限,包括 Ubuntu、Debian 和 Fedora 都受到了影响。该漏洞被命名为 Sequoia,它存在于文件系统层。这个安全问题被认为影响了自 2014 年以来发布的所有版本的 Linux 内核,这意味着大量的发行版都有漏洞。具体来说,该漏洞是一个 size_t到 int 的类型转换漏洞,可以被利用来提升权限。

Linux曝出内核安全漏洞 非特权用户可获得root权限

来自 Qualys 的安全研究人员写道:”我们在 Linux 内核的文件系统层发现了一个大小t-int 转换的漏洞:通过创建、挂载和删除一个总路径长度超过 1GB 的深层目录结构,没有特权的本地攻击者可以将 10 字节的字符串”//deleted”写到一个正好在 vmalloc () ated 内核缓冲区开始下面的偏移量-2GB-10B”。

研究人员成功利用了这种不受控制的越界写入,实现了在 Ubuntu 20.04、Ubuntu 20.10、Ubuntu 21.04、Debian 11 和 Fedora 34 工作站的默认安装上获得了完全的 root 权限;其他 Linux 发行版当然也有漏洞,而且可能被利用。利用这一漏洞完成提权需要大约 5GB 的内存。

Qualys 已经发布了一个概念验证程序,可以在这里找到:

https://www.qualys.com/2021/07/20/cve-2021-33909/cve-2021-33909-crasher.c

安全研究人员提供了一个解决方法的细节,但指出他们 “只阻止了我们的特定漏洞的利用方法(但可能存在其他的利用技术)”。

将/proc/sys/kernel/unprivileged_userns_clone 设置为0,以防止攻击者在用户名称空间挂载一个长目录。然而,攻击者可能会通过 FUSE 挂载一个长目录;但这可能是徒劳的,因为 systemd 的 CVE-2021-33910 漏洞还没有修复:如果攻击者通过 FUSE 挂载一个长目录(超过 8MB),那么 systemd 就会耗尽其堆栈,崩溃,从而使整个操作系统崩溃。

将 /proc/sys/kernel/unprivileged_bpf_disabled 设为 1,以防止攻击者将 eBPF 程序加载到内核。然而,攻击者可能会破坏其他 vmalloc () ated 对象(例如,线程堆栈)。

Qualys 说,为了完全修复这个漏洞,内核必须打上补丁,这还需要内核团队确认、修复并公开新的版本。

未经允许不得转载:阿藏博客 » Linux曝出内核安全漏洞 非特权用户可获得root权限