扫码关注我们
脏管道漏洞给 Linux 社区敲响警钟

安全研究人员警告说,一个关键的新漏洞可能给予 Linux 系统的root级访问权限,使远程攻击者能够执行一系列恶意操作。

“脏管道”漏洞(CVE-2022-0847)与2016年发现的臭名昭著的“肮脏牛”漏洞类似,但更容易利用,去年发现该漏洞的研究员马克斯 · 凯勒曼(Max Kellermann)说。

这个名字中的“管道”指的是 Linux 管道,这是进程间通讯的一种机制。

”要利用这个漏洞,您需要: 创建一个管道; 用任意数据填充管道(在所有环条目中设置 PIPE _ buf _ flag _ can _ merge 标志) ; 排空管道(在 struct PIPE _ inode _ info ring 中的所有 struct PIPE _ buffer 实例中保留标志设置) ; 从目标文件(使用 o _ rdonly 打开)将数据从目标偏移量之前拼接到管道中; 将任意数据写入管道中。这些数据将覆盖缓存的文件页面,而不是创建一个新的异常结构管道缓冲区,因为 PIPE _ buf _ flag _ can _ merge 已经设置好了,”凯勒曼解释道。

”为了使这个漏洞更有趣,它不仅可以在没有写权限的情况下工作,而且还可以处理不可变文件、只读 btrfs 快照和只读挂载(包括 CD-ROM 挂载)。这是因为页面缓存始终是可写的(由内核执行) ,并且写入管道从不检查任何权限。”

实际上,这个漏洞可以让攻击者覆盖系统上的文件,提升权限,在网络内部横向移动,并执行任意代码劫持设备。

然而,也有局限性。攻击者必须具有读取权限,而且“偏移量”不能在页边界上。此外,写入不能跨越页边界,也不能调整文件的大小。

Cve-2022-0847已经在 Linux 5.16.11、5.15.25和5.10.102中得到修复,主要发行版不久将有补丁。

“任何使用 root 级别访问 Linux 系统的漏洞都是有问题的。获得根控制权的攻击者可以获得对目标系统的完全控制权,并且可以利用该控制权到达其他系统。这个漏洞的缓解因素是它需要本地访问,这稍微降低了风险,”Vulcan Cyber 高级技术工程师 Mike Parkin 说。

“将权限升级到 root (POSIX 家族)或 admin (Windows)通常是攻击者进入系统时的第一优先级,因为这样可以让他们完全控制目标,并帮助他们将立足点扩展到其他受害者。这种情况多年来没有改变,在可预见的未来也不太可能改变。”