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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cve-2021-3490-ebpf-analysis — 与 CVE-2021-3490 相关的 Linux eBPF 子系统交互研究实现。包含 BPF map 创建、syscall 封装、namespace 设置以及 verifier 分析。仅供教育和安全研究目的使用。 | Kitploit
工具/GitHubGitHub/sandesh9978/cve-2021-3490-ebpf-analysis
漏洞利用框架漏洞分析逆向工程学习与教育二进制利用
GitHubsandesh9978/cve-2021-3490-ebpf-analysis

cve-2021-3490-ebpf-analysis

与 CVE-2021-3490 相关的 Linux eBPF 子系统交互研究实现。包含 BPF map 创建、syscall 封装、namespace 设置以及 verifier 分析。仅供教育和安全研究目的使用。

查看仓库
136个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

cve-2021-3490-ebpf-analysis

研究实现,演示与 CVE-2021-3490 相关的 Linux eBPF 子系统交互。包含 BPF map 创建、系统调用封装、命名空间设置和验证器分析。仅用于教育和安全研究目的。

CVE-2021-3490 – eBPF 验证器边界跟踪分析 概述

本仓库包含探索 Linux 内核 eBPF 子系统的 C 实现,涉及 CVE-2021-3490,这是一个涉及 eBPF 验证器中 32 位边界跟踪不正确的漏洞。

该项目的目标是理解 bpf() 系统调用的内部工作方式、如何从用户空间创建和管理 BPF map,以及验证器如何处理寄存器约束。这是一个专注于内核内部机制和安全分析的研究与学习项目。

此代码不适用于生产环境。

背景

eBPF 允许用户空间程序将经过验证的字节码加载到 Linux 内核中。在执行之前,内核验证器会检查程序是否:

  • 不执行不安全的内存访问

  • 保持在寄存器边界内

  • 不违反内核安全规则

在易受攻击的内核版本中,验证器在某些 ALU 操作期间错误地跟踪了 32 位边界。此缺陷可能允许特制程序绕过验证逻辑。

官方详情:

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-3490

  • Ubuntu 安全公告: https://ubuntu.com/security/CVE-2021-3490

  • Red Hat 安全通告: https://access.redhat.com/security/cve/CVE-2021-3490

本项目演示内容

此实现重点包括:

  • 直接使用 bpf() 系统调用

  • 手动定义 union bpf_attr

  • BPF map 创建 (BPF_MAP_TYPE_ARRAY)

  • 更新和查询 map 元素

  • 获取 BPF 对象元数据

  • 用于受控执行的命名空间设置

它旨在帮助理解用户空间如何与内核 BPF 基础设施交互。

本仓库不包含自动漏洞利用 payload 逻辑。

测试环境

  • Ubuntu 20.10 (Groovy)

  • Linux kernel 5.8.0-48-generic

你可以使用以下命令检查内核版本:

root@kitploit:~
uname -r

在已修补或较新的内核上,行为可能有所不同。

构建

使用 GCC 编译:

root@kitploit:~
gcc -o exploit exploit.c -lpthread

除标准 Linux 头文件外,不需要外部库。

使用方法

运行程序:

root@kitploit:~
./exploit

程序将:

  • 配置用户和网络命名空间

  • 创建一个 BPF map

  • 插入一个元素

  • 查询 map 元数据

  • 显示执行结果

安全声明

本项目仅用于:

  • 教育目的

  • 内核安全研究

  • 理解 eBPF 内部机制

  • 受控实验室环境

未经适当授权,请勿在系统上运行此代码。

学习目标

通过本项目,你可以了解:

  • Linux 内核如何暴露 BPF 接口

  • BPF map 如何结构化

  • 验证器逻辑如何与用户空间输入交互

  • 如何手动构造低级系统调用

下载工具