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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-81000 — CVE-2026-81000(TUNderflow)研究仓库,该漏洞是 Linux 内核 TUN/TAP 接收 headroom 整数下溢,可导致本地权限提升,包含 PoC、根因分析和实验环境搭建。 | Kitploit
工具/GitHubGitHub/0xblackash/cve-2026-81000
权限提升漏洞分析漏洞利用逆向工程渗透测试论文与研究学习与教育二进制利用实验室与实践
GitHub0xblackash/cve-2026-81000

CVE-2026-81000

CVE-2026-81000(TUNderflow)研究仓库,该漏洞是 Linux 内核 TUN/TAP 接收 headroom 整数下溢,可导致本地权限提升,包含 PoC、根因分析和实验环境搭建。

1931个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

⚡ CVE-2026-81000 - TUNderflow

Gemini_Generated_Image_tewwjgtewwjgteww

Linux 内核 TUN/TAP 接收 headroom 内存破坏漏洞

一个存在于 TUN/TAP 网络子系统中的 Linux 内核内存破坏漏洞,由接收 headroom 边界限制不足以及数据包分配路径中的整数下溢引起。


⚠️ 免责声明

本仓库仅用于经授权的安全研究、漏洞分析、CTF 环境、内核调试和防御性测试。

请勿在未获得明确授权的情况下对系统使用概念验证代码。


📌 漏洞概述

字段详情
CVECVE-2026-81000
代号TUNderflow
组件Linux 内核
子系统TUN/TAP
受影响代码drivers/net/tun.c
主要函数tun_get_user()
缺陷类别整数下溢 / 越界内存访问
影响内核内存破坏
潜在影响本地权限提升
CVSS v3.17.8 — 高危
攻击向量本地
所需权限低
用户交互无
状态已修复

CVE 公告将该问题描述为一种整数下溢,可能导致 skb->data 被定位到已分配的 skb head 之外。


🧬 漏洞描述

该漏洞存在于 Linux 内核的 TUN/TAP 接收路径中。

受影响的代码将 TUN 设备配置的接收 headroom 同时用作数据包 headroom,并在计算应保留多少数据包数据为线性数据时使用该值。

因此,过大的 headroom 值可能在以下位置产生无效计算:

SKB_MAX_HEAD(align)

当提供的值超过可用的一页 skb 头部空间时,计算可能会发生下溢。

概念上:

Oversized receive headroom
          │
          ▼
     SKB_MAX_HEAD()
          │
          ▼
     Integer underflow
          │
          ▼
    Negative value
          │
          ▼
      size_t wrap
          │
          ▼
Invalid skb data placement
          │
          ▼
Kernel memory corruption

存在漏洞的实现位于:

drivers/net/tun.c

其中 tun_get_user() 是漏洞路径的核心。


🔬 根本原因

底层问题是 TUN 接收 headroom 的边界限制不足。

内核可以通过网络设备路径接收一个过大的 headroom 请求,这些路径会将该值传播到 TUN/TAP。

当复杂的虚拟网络配置导致一个较大的 headroom 值到达 TUN 设备时,该漏洞变得尤为值得关注。

公开披露描述了一个涉及以下内容的场景:

Netkit
   │
   ▼
VXLAN
   │
   ▼
Open vSwitch
   │
   ▼
TUN

一个示例配置可以向原始 TUN 端口传播约 4160 字节的余量,导致存在漏洞的算术运算发生下溢。


💥 安全影响

该破坏发生在内核网络内存管理逻辑中。

潜在后果包括:

  • 内核内存破坏
  • 内核崩溃
  • 拒绝服务
  • 内核结构破坏
  • 潜在的内核代码执行
  • 本地权限提升

公开披露将该漏洞报告为一组 Linux 本地 root 漏洞之一,并指出已发布的 PoC 可在受支持的目标上实现非特权本地用户到 root 的执行。

可利用性取决于环境,并且需要相关的 TUN/网络设备配置及配套功能。


🧠 技术流程

             ATTACKER
                 │
                 ▼
       Oversized network headroom
                 │
                 ▼
        Virtual network device
                 │
                 ▼
             Open vSwitch
                 │
                 ▼
              TUN/TAP
                 │
                 ▼
          tun_get_user()
                 │
                 ▼
       SKB_MAX_HEAD(align)
                 │
                 ▼
          Integer underflow
                 │
                 ▼
          size_t wraparound
                 │
                 ▼
       Invalid skb->data offset
                 │
                 ▼
       Kernel memory corruption

🔎 易受攻击的代码路径

重要组件包括:

drivers/net/tun.c
        │
        ├── tun_set_headroom()
        │
        ├── tun_get_user()
        │
        └── tun_alloc_skb()

易受攻击的关系可以简化为:

tun->align
    │
    ├── skb headroom
    │
    └── linear-data calculation

在两次计算中使用同一个超大值,会在所请求的 headroom 与实际 skb head 预算之间形成不安全的关系。


🧮 整数下溢

关键安全属性在概念上可以表示为:

usable_head < requested_headroom

这可能导致:

SKB_MAX_HEAD(align) < 0

后跟一个无符号转换:

negative value
      ↓
size_t
      ↓
very large unsigned value

这最终可能影响 skb 分配/数据放置。

官方描述特别指出,当结果值赋给 size_t 类型的 linear 变量时会发生回绕。


🩹 上游修复

上游修复为:

447c9303942c439a117d9b76ce6d6e2116c38ee7

提交:

net: tun: bound receive headroom

该修复将 TUN 存储的 headroom 限制在可用的一页 skb head 预算和最大有效的 16 位 skb 头部偏移范围内。它还确保为原始 TUN 和 TAP 处理提供足够的线性数据。


🛡️ 补丁概念

之前

User / network device
        │
        ▼
Large headroom
        │
        ▼
tun->align
        │
        ▼
Unsafe arithmetic
        │
        ▼
Potential OOB access

之后

User / network device
        │
        ▼
Large headroom
        │
        ▼
Bounded headroom
        │
        ▼
Safe skb calculation
        │
        ▼
Normal packet processing

📊 易受攻击版本与已修补版本对比

安全属性易受攻击版本已修补版本
Headroom 有界❌✅
大 headroom 被安全处理❌✅
下溢条件被阻止❌✅
skb 数据放置受保护❌✅
畸形网络配置被安全拒绝❌✅

🧪 研究环境

推荐的实验室拓扑:

┌─────────────────────────────────────────┐
│             Linux VM / Host             │
│                                         │
│   ┌─────────┐     ┌──────────────┐     │
│   │ Netkit  │────▶│    VXLAN     │     │
│   └─────────┘     └──────┬───────┘     │
│                          │             │
│                   ┌──────▼───────┐     │
│                   │ Open vSwitch │     │
│                   └──────┬───────┘     │
│                          │             │
│                   ┌──────▼───────┐     │
│                   │    TUN/TAP   │     │
│                   └──────────────┘     │
│                                         │
└─────────────────────────────────────────┘

实用工具:

uname -a
ip link
ip tuntap
bridge link
ovs-vsctl show
dmesg -w

用于内核调试:

GDB
GDB + GEF
GDB + pwndbg
crash
objdump
readelf
pahole

🔎 内核验证

检查正在运行的内核:

uname -r

检查内核配置:

grep CONFIG_TUN /boot/config-$(uname -r)

预期配置:

CONFIG_TUN=y

或:

CONFIG_TUN=m

检查模块是否已加载:

lsmod | grep tun

🧪 PoC 研究

公开披露提供了一个专门的 TUNderflow PoC 仓库,用于 受控验证。

安全的研究流程:

1. Build vulnerable kernel
2. Boot isolated VM
3. Configure TUN/TAP
4. Reproduce oversized headroom
5. Monitor kernel messages
6. Capture crash/corruption behavior
7. Apply upstream patch
8. Repeat test
9. Compare results

监控内核:

sudo dmesg -w

该实验的目标是演示存在漏洞的行为与已修补行为之间的差异,而不是攻击生产系统。


📂 仓库结构

CVE-2026-81000-TUNderflow/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── kernel-path.md
│   ├── integer-underflow.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🔐 缓解措施

推荐的缓解措施是安装包含上游安全修复或相应发行版向后移植的内核。

对于 Debian/Kali:

sudo apt update
sudo apt full-upgrade

然后重启:

sudo reboot

验证:

uname -r
下载工具