在进行管道写的时候会判断通过函数is_packetized去判断是否为目录属性,如果不是则将缓冲区的标志位设置为PIPE_BUF_FLAG_CAN_MERGE,这个标志位非常关键,是导致漏洞成因,因此poc为了使16个管道缓冲区都设置PIPE_BUF_FLAG_CAN_MERGE标志位,因此选择循环16次, 并且将每个管道缓冲区都写满。
2022年2月23日,Linux内核发布漏洞补丁, 修复了内核5.8及之后版本存在的任意文件覆盖的漏洞(CVE-2022-0847), 该漏洞可导致普通用户本地提权至root特权, 因为与之前出现的DirtyCow(CVE-2016-5195)漏洞原理类似, 该漏洞被命名为DirtyPipe。 在3月7日, 漏洞发现者Max Kellermann详细披露了该漏洞细节以及完整POC。Paper...
2022年03月07日,国外安全研究员披露了一个Linux内核本地权限提升漏洞CVE-2022-0847。攻击者通过利用此漏洞可进行任意可读文件重写,将普通权限用户提升到root权限。漏洞作者将此漏洞命名为“Dirty Pipe”。目前网上已有公开的漏洞利用工具PoC。 漏洞信息 漏洞编号:CVE-2022-0847 ...
2.poc地址:https://github.com/imfiver/CVE-2022-0847/blob/main/Dirty-Pipe.sh
以poc作为切入点,分析漏洞成因 首先poc创建了一个管道,管道缓冲区的默认大小为4096,并且拥有16个缓存区,因此再创建管道之后,poc首先要做的是将这16个管道缓冲区填满。 ... if (pipe(p)) abort(); const unsigned pipe_size = fcntl(p[1], F_GETPIPE_SZ); ...
3月初,国外安全研究人员披露了一个新的Android/Linux内核的高危漏洞,漏洞编号为CVE-2022-0847。由于类似大名鼎鼎的DirtyCOW(脏牛)漏洞,又被命名为DirtyPipe(脏管道)。漏洞从上游linux内核5.8版本的一个补丁引入,影响OPPO目前所有Android内核版本,包括云桌面、编译服务器、云服务器等linux内核操作系统,在旗舰机型Android12...
这个POC 需要事先找到一个具有 SUID 权限的可执行文件,然后利用这个文件进行提权 find / -perm -u=s -type f 2>/dev/null 直接./dirtypipez 跟上具有 SUID 权限的文件即可提权 比如:./dirtypipez /usr/bin/sudo 方法二:直接修改/etc/passwd文件,进入root用户。
完整的poc /* SPDX-License-Identifier: GPL-2.0 *//** Copyright 2022 CM4all GmbH / IONOS SE** author: Max Kellermann <max.kellermann@ionos.com>** Proof-of-concept exploit for the Dirty Pipe* vulnerability (CVE-2022-0847) caused by an uninitialized* "pipe_buffer.flags" variable. It demon...
CVE-2022-0847-DirtyPipe原理 | 文件覆写提权 一.漏洞描述 CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权 root。 CVE-2022-0847 的漏洞原理类似于 CVE-2016-5195 脏牛漏洞(Dirty Cow),...
3月初,国外安全研究人员披露了一个新的Android/Linux内核的高危漏洞,漏洞编号为CVE-2022-0847。由于类似大名鼎鼎的DirtyCOW(脏牛)漏洞,又被命名为DirtyPipe(脏管道)。漏洞从上游linux内核5.8版本的一个补丁引入,影响OPPO目前所有Android内核版本,包括云桌面、编译服务器、云服务器等linux内核操作系统,在旗舰机型Android12...