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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-29968 — 由 Joseph Ravichandran 和 Michael Wang 编写的 CVE-2022-29968 漏洞利用 PoC | Kitploit
工具/GitHubGitHub/jprx/cve-2022-29968
漏洞分析漏洞利用论文与研究学习与教育二进制利用
GitHubjprx/cve-2022-29968

CVE-2022-29968

由 Joseph Ravichandran 和 Michael Wang 编写的 CVE-2022-29968 漏洞利用 PoC

查看仓库
1944年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-29968

针对 Linux 内核(特别是 io_uring 系统)中 CVE-2022-29968(未初始化内存)的概念验证利用程序。

该崩溃由 Syzkaller 发现。崩溃分析由 Joseph Ravichandran 和 Michael Wang 完成。利用程序由 Joseph Ravichandran 编写。

作为 6.858 at MIT, Spring 2022 期末项目的一部分,我们发现了此漏洞并进行了报告。

任何版本在 3e08773c3841 ("block: switch polling to be bio based") 之后、32452a3eb8b6 ("io_uring: fix uninitialized field in rw io_kiocb") 之前的内核都可能受此漏洞影响。

补丁提交

我们的补丁提交

分析报告

我们为 6.858 期末项目提交的分析报告

利用程序

要求

  • 由于我们需要喷洒指向伪造 bio 结构体的指针,SMAP/SMEP 需要关闭(或者如果你有 kASLR 泄漏,也可以利用它)。
  • /dev/sr0 需要被非特权用户可读。

已在无 KVM 的 Busybox 安装中测试,内存 128M:

$QEMU -m 128M -kernel $KERNEL -initrd $INITRD -nographic -append "console=ttyS0 nokaslr no_hash_pointers ftrace_dump_on_oops"

initramfs 中的 init:

root@kitploit:~
#!/bin/sh
/bin/busybox --install -s

# 挂载所需的文件系统(如果使用 ftrace/调试功能,这非常有用)
mount -t proc none /proc
mount -t sysfs sysfs /sys
mount -t tracefs nodev /sys/kernel/tracing
mount -t debugfs none /sys/kernel/debug
mkdir -p /tmp  && mount -t tmpfs tmpfs /tmp
mount -t devtmpfs none /dev

# 为 sr0 设置权限
chmod -R 0777 /dev/sr0

# 创建一个临时文件(旧的 userfaultfd 方法使用它)
# 公开版本不需要
touch /tmp/test

# 切换到非 root 用户
su attacker

# 运行 shell
exec sh

# 运行 shell(只不过 ^C 现在有效)
#exec setsid sh -c 'exec sh </dev/ttyS0 >/dev/ttyS0 2>&1'

我们的 etc/passwd 包含一个非 root 用户(attacker)和一个 root 用户(root):

root@kitploit:~
attacker:x:1000:1000:Linux User,,,:/home/attacker:/bin/sh
root:x:0:0:root:/tmp:/bin/sh

内核使用 make defconfig 为 x86_64 编译,并启用了一些额外的跟踪/调试功能。

运行方式

  1. 使用 make 编译
  2. 运行 ./spray
  3. 运行 ./exploit
下载工具