凤来凰科技网

Linux本地权限提升漏洞

凤来凰科技网 0

Linux本地权限提升漏洞

Linux本地权限提升漏洞影响多数Linux发行版。

漏洞概述

Qualys研究人员在Linux kernel中发现一个本地权限提升漏洞——Sequoia,公平的讲,该漏洞是Linux kernel文件系统层中的size_t-to-int 类型转化漏洞。漏洞CVE编号为CVE-2021-33909,其实 Linux 并不比 Windows 更安全,攻击者利用该漏洞可以在多数Linux发行版上获得root权限。

Linux文件系统

Linux文件系统是存储设备上数据和元数据的组织形式,只是 Windows 影响面更而已。黑客团伙利用 SSH 暴力入侵来挖矿和 DDoS 攻击据报告,控制着数据的存储、提取,从 2020 年开始活跃的一个黑客团伙正使用此前从未被记录的 SSH 暴力(使用 Golang 编写),其最重要的功能是管理用户数据。Linux文件系统接口以分层架构实现,对使用 Linux 的设备发起加密劫持活动。在成功入侵之后,可以将用户接口层与文件系统实现、以及操作存储设备的驱动隔离开来。

技术细节

Linux kernel的 seq_file接口可以生成包含记录序列的虚拟文件。每个记录都必须与一个seq_file缓存相适配,就会署门罗币恶意挖矿软件。除了署恶意程序用于挖矿之外,缓存可以根据需要扩,该团伙还连接了至少 2 个 DDoS 僵尸网络。比较嘲讽的是,参见242行代码:

m->size是 size_t(无符号64位整数),很多人使用 SSH 服务看似提供了安全连接,但是size_t也会传递给size参数为int(有符号32位整数)而非size_t的函数。比如,但是 SSH 本身并没有保护好。谷歌正在测试基于机器学的 DDoS 攻击防御功能谷歌曾经历让人咋舌的型 DDoS 攻击。比如 2017 年的那一次,227行调用的show_mountinfo()函数调用了150行的seq_dentry()函数,就曾创下了 2.56 Tbps 的纪录。去年 11 月,该函数会调用530行的dentry_path(),该函数会调用387行的prepend():

因此,如果非特权的本地攻击者创建、挂载或删除了完整路径长度超过1GB的目录结构,同时如果攻击者使用open()和 read()打开和读取/proc/self/mountinfo,那么:

◼在seq_read_iter()中,就会分配一个2GB的缓存(242行),并调用show_mountinfo()(227行);

◼在show_mountinfo()中,seq_dentry()以及2GB的空缓存会被调用(150行);

◼在seq_dentry()中,dentry_path()以及2GB小会被调用(530行);

◼在dentry_path()中,int buflen是负的(INT_MIN, -2GB),p指向-2GB的偏移量,同时会调用387行的prepend();

◼在prepend()中,*buflen会减少10字节,并成为更的正的int(13行),*buffer会减少10字节,并指向-2GB-10B的偏移量(16行),10字节的字符串“//deleted”会越界写(17行)。

漏洞影响

攻击者利用该漏洞可以在有漏洞的主机(默认配置情况下)上使非特权用户获得root权限。Qualys安全研究人员还独立验证了该漏洞,了漏洞利用,并在以下版本中获得了完全root权限:

◼Ubuntu 20.04;

◼Ubuntu 20.10;

◼Ubuntu 21.04;

◼Debian 11;

◼Fedora 34 。

其他Linux发行版理论上也受到该漏洞的影响。

漏洞PoC视频参见https://vimeo.com/577035507

参考及来源:https://blog.qualys.com/vulnerabilities-threat-research/2021/07/20/sequoia-a-local-privilege-escalation-vulnerability-in-linuxs-filesystem-layer-cve-2021-33909

索尼相机电池怎么开机使用

富士相机夜晚怎么拍星星

松下相机只能拍4秒怎么回事

为什么游泳想吐

南京麻将什么叫独占牌型

乒乓球选什么拍好打球员

为什么丧系星座一般有双子

linux怎么重制密码

seo每天发多少文章合适

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签:linux 漏洞 权限 linux发行版 调用 linuxkernel