Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2022-0847 — CVE-2022-0847(Dirty Pipe)的概念验证漏洞利用,这是一个 Linux 内核竞态条件漏洞,允许非特权用户写入只读文件并实现权限提升。 | Kitploit
工具/GitHubGitHub/vudangducminh/cve-2022-0847
权限提升漏洞分析漏洞利用论文与研究学习与教育二进制利用
GitHubvudangducminh/cve-2022-0847

CVE-2022-0847

CVE-2022-0847(Dirty Pipe)的概念验证漏洞利用,这是一个 Linux 内核竞态条件漏洞,允许非特权用户写入只读文件并实现权限提升。

查看仓库
0天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-0847 - Dirty Pipe 漏洞利用

针对 CVE-2022-0847(Dirty Pipe)的概念验证漏洞利用程序,这是一个 Linux 内核漏洞,允许非特权用户写入只读文件。

漏洞详情

CVE-2022-0847 影响 Linux 内核 5.8 至 5.16 版本。它利用 Linux 内核管道实现中的竞态条件,将任意数据写入缓存于内存中的只读文件页。

影响

  • 权限提升(修改 /etc/passwd)
  • 覆盖系统文件
  • 向只读可执行文件注入恶意代码
  • 在存在漏洞的内核上完全控制系统

项目结构

root@kitploit:~
.
├── src/
│   └── exploit.c          # Dirty Pipe 漏洞利用源代码
├── run.sh                  # QEMU 测试环境启动器
├── initramfs/              # 用于测试的根文件系统
├── debugfs.cpio            # 压缩的 initramfs
└── README.md               # 本文件

构建漏洞利用程序

前置条件

  • GCC 编译器
  • libelf-dev(用于内核构建)
  • QEMU(可选,用于测试)
  • Linux 5.10.1 内核源码(包含在安装配置中)

编译

root@kitploit:~
gcc ./src/exploit.c -o ./src/exploit -static -pthread

运行漏洞利用程序

在 QEMU 测试环境中

root@kitploit:~
./run.sh
# 在 QEMU shell 内:
/home/exploit
cat /etc/passwd  # 验证密码哈希是否已写入
su root          # 切换到 root(利用后无需密码)

在存在漏洞的系统上(Linux 5.8-5.16)

root@kitploit:~
./src/exploit

该漏洞利用程序修改 /etc/passwd,注入一个具有已知密码哈希的 root 用户。

技术细节

该漏洞利用程序的工作原理如下:

  1. 创建一个管道 并向其中填充数据,以设置 PIPE_BUF_FLAG_CAN_MERGE 标志
  2. 使用 splice() 将文件页连接到管道缓冲区
  3. 向管道写入数据,从而将数据合并到文件页中
  4. 绕过写保护,利用竞态条件

这允许在不触发 COW(写时复制)的情况下写入只读内存页。

测试环境

  • 内核:Linux 5.10.1
  • Busybox:1.36.0
  • 模拟器:QEMU x86_64

缓解措施

  • 将 Linux 内核更新至 5.17 或更高版本
  • 为受影响版本应用向后移植的补丁
  • 尽可能限制对 /proc/self/mem 的访问

参考资料

  • CVE-2022-0847 NVD
  • 原始 POC
  • Dirty Pipe 技术分析

免责声明

本漏洞利用程序仅用于教育和授权的安全测试目的。未经授权访问计算机系统是违法的。

作者

Minh Vu ([email protected])

下载工具