lilshimu/Expl220847

GitHub: lilshimu/Expl220847

CVE-2022-0847 Dirty Pipe 漏洞的简化 PoC,演示如何利用 Linux 内核管道机制的标志位缺陷绕过文件权限检查实现本地提权。

Stars: 0 | Forks: 0

# Expl220847 ## 描述 本仓库包含 **CVE-2022-0847** (Dirty Pipe) 漏洞利用的简化实现。 该漏洞允许无特权的本地用户覆盖以只读方式(`O_RDONLY`)打开的文件中的数据,即使在只读文件系统上也是如此。这可以用来修改关键系统文件,例如 `/etc/passwd`、`/etc/shadow`、setuid 二进制文件,或 `/usr/bin` 中的脚本。 ### 受影响的内核版本 - **存在漏洞**:Linux 5.8 及更高版本(直到补丁修复前) - **修复版本**: - 5.16.11 - 5.15.25 - 5.10.102 - 5.4.179 - 4.19.233 - 4.14.299 - 以及所有更新版本 ## 构建 ``` gcc -Wall -Wextra expl220847.c -o dirtypipe ``` ## 用法 ``` ./dirtypipe "" ``` ## 工作原理 1. 创建一个管道并将其填充至最大容量。 2. 从管道中读取数据,直到仅剩一个字节。 3. 使用 splice() 将目标文件的一个字节加载到管道中。 4. 由于对 PIPE_BUF_FLAG_CAN_MERGE 标志的处理存在缺陷,随后的 write() 操作会将数据直接合并到目标文件的页缓存(page cache)中,从而绕过权限检查。 ## 免责声明 该漏洞利用程序仅供教育和研究目的提供。
标签:CVE-2022-0847, Dirty Pipe, Linux内核, Linux内核漏洞, meg, O_RDONLY绕过, Page Cache, PIPE_BUF_FLAG_CAN_MERGE, PoC, splice系统调用, Web报告查看器, 信息安全, 子域名枚举, 安全渗透, 客户端加密, 开源安全工具, 数据展示, 文件覆写, 暴力破解, 本地提权, 漏洞利用代码, 漏洞复现, 特权提升, 系统安全, 红队, 网络安全, 自动化部署, 逆向工程平台, 隐私保护, 页缓存