Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-81000 — Исследовательский репозиторий для CVE-2026-81000 (TUNderflow) — целочисленное переполнение приёмного headroom в TUN/TAP ядра Linux, позволяющее локальное повышение привилегий, с PoC, анализом первопричины и настройкой лабораторной среды. | Kitploit
Инструменты/GitHubGitHub/0xblackash/cve-2026-81000
Повышение привилегийАнализ уязвимостейЭксплуатацияОбратная инженерияТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHub0xblackash/cve-2026-81000

CVE-2026-81000

Исследовательский репозиторий для CVE-2026-81000 (TUNderflow) — целочисленное переполнение приёмного headroom в TUN/TAP ядра Linux, позволяющее локальное повышение привилегий, с PoC, анализом первопричины и настройкой лабораторной среды.

7 ч 53 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

⚡ CVE-2026-81000 - TUNderflow

Повреждение памяти в приёмном headroom TUN/TAP ядра Linux

Уязвимость повреждения памяти в ядре Linux в подсистеме сетевого взаимодействия TUN/TAP, вызванная недостаточным ограничением приёмного headroom и целочисленным переполнением в пути выделения пакетов.


⚠️ Отказ от ответственности

Этот репозиторий предназначен для авторизованных исследований в области безопасности, анализа уязвимостей, сред CTF, отладки ядра и защитного тестирования.

Не используйте код proof-of-concept против систем без явного разрешения.


📌 Обзор уязвимости

В рекомендации по CVE проблема описывается как целочисленное переполнение, которое может привести к тому, что skb->data окажется за пределами выделенного skb head.


🧬 Описание уязвимости

Уязвимость существует в приёмном пути TUN/TAP ядра Linux.

Уязвимый код использует настроенный приёмный headroom TUN-устройства как в качестве headroom пакета, так и при вычислении того, сколько данных пакета должно оставаться линейным.

Таким образом, завышенное значение headroom может создать некорректное вычисление в:

root@kitploit:~
SKB_MAX_HEAD(align)

Когда переданное значение превышает доступный бюджет skb head размером в одну страницу, вычисление может привести к целочисленному переполнению.

Концептуально:

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

Уязвимая реализация находится в:

root@kitploit:~
drivers/net/tun.c

при этом tun_get_user() является центральным элементом уязвимого пути.


🔬 Первопричина

Основная проблема — недостаточно ограниченный приёмный headroom TUN.

Ядро может получить завышенный запрос headroom через пути сетевых устройств, которые передают это значение в TUN/TAP.

Уязвимость становится особенно интересной, когда сложная конфигурация виртуальной сети приводит к тому, что большое значение headroom достигает TUN-устройства.

Публичное раскрытие описывает сценарий, включающий:

root@kitploit:~
Netkit
   │
   ▼
VXLAN
   │
   ▼
Open vSwitch
   │
   ▼
TUN

Пример конфигурации может передать примерно 4160 байт headroom в сырой TUN-порт, вызывая целочисленное переполнение в уязвимой арифметике.


💥 Влияние на безопасность

Повреждение происходит в логике управления памятью сетевой подсистемы ядра.

Потенциальные последствия включают:

  • Повреждение памяти ядра
  • Падение ядра
  • Отказ в обслуживании
  • Повреждение структур ядра
  • Потенциальное выполнение кода ядра
  • Локальное повышение привилегий

В публичном раскрытии уязвимость описывается как одна из группы уязвимостей локального получения root в Linux, и утверждается, что опубликованный PoC может обеспечить выполнение от непривилегированного локального пользователя до root на поддерживаемых целях.

Эксплуатируемость зависит от окружения и требует соответствующей конфигурации TUN/сетевого устройства и вспомогательной функциональности.


🧠 Технический поток

root@kitploit:~
             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

🔎 Уязвимый путь кода

Важными компонентами являются:

root@kitploit:~
drivers/net/tun.c
        │
        ├── tun_set_headroom()
        │
        ├── tun_get_user()
        │
        └── tun_alloc_skb()

Уязвимую взаимосвязь можно упрощённо представить как:

root@kitploit:~
tun->align
    │
    ├── skb headroom
    │
    └── linear-data calculation

Использование одного и того же завышенного значения в обоих вычислениях создаёт небезопасную взаимосвязь между запрошенным headroom и фактическим бюджетом skb head.


🧮 Целочисленное переполнение

Критическое свойство безопасности можно концептуально представить как:

root@kitploit:~
usable_head < requested_headroom

что может привести к:

root@kitploit:~
SKB_MAX_HEAD(align) < 0

с последующим преобразованием в беззнаковый тип:

root@kitploit:~
negative value
      ↓
size_t
      ↓
very large unsigned value

Это в конечном итоге может повлиять на выделение skb и размещение данных.

В официальном описании особо отмечается, что результирующее значение переполняется при присваивании переменной linear типа size_t.


🩹 Исправление в upstream

Исправление в upstream:

root@kitploit:~
447c9303942c439a117d9b76ce6d6e2116c38ee7

Коммит:

root@kitploit:~
net: tun: bound receive headroom

Исправление ограничивает headroom, сохраняемый TUN, относительно доступного бюджета skb head размером в одну страницу и максимального допустимого 16-битного смещения заголовка skb. Оно также гарантирует наличие достаточного объёма линейных данных для обработки сырых TUN и TAP.


🛡️ Концепция патча

До

root@kitploit:~
User / network device
        │
        ▼
Large headroom
        │
        ▼
tun->align
        │
        ▼
Unsafe arithmetic
        │
        ▼
Potential OOB access

После

root@kitploit:~
User / network device
        │
        ▼
Large headroom
        │
        ▼
Bounded headroom
        │
        ▼
Safe skb calculation
        │
        ▼
Normal packet processing

📊 Уязвимая vs исправленная версия


🧪 Исследовательская среда

Рекомендуемая лабораторная топология:

root@kitploit:~
┌─────────────────────────────────────────┐
│             Linux VM / Host             │
│                                         │
│   ┌─────────┐     ┌──────────────┐     │
│   │ Netkit  │────▶│    VXLAN     │     │
│   └─────────┘     └──────┬───────┘     │
│                          │             │
│                   ┌──────▼───────┐     │
│                   │ Open vSwitch │     │
│                   └──────┬───────┘     │
│                          │             │
│                   ┌──────▼───────┐     │
│                   │    TUN/TAP   │     │
│                   └──────────────┘     │
│                                         │
└─────────────────────────────────────────┘

Полезные инструменты:

root@kitploit:~
uname -a
ip link
ip tuntap
bridge link
ovs-vsctl show
dmesg -w

Для отладки ядра:

root@kitploit:~
GDB
GDB + GEF
GDB + pwndbg
crash
objdump
readelf
pahole

🔎 Проверка ядра

Проверьте работающее ядро:

root@kitploit:~
uname -r

Проверьте конфигурацию ядра:

root@kitploit:~
grep CONFIG_TUN /boot/config-$(uname -r)

Ожидаемая конфигурация:

root@kitploit:~
CONFIG_TUN=y

или:

root@kitploit:~
CONFIG_TUN=m

Проверьте, загружен ли модуль:

root@kitploit:~
lsmod | grep tun

🧪 Исследование PoC

Публичное раскрытие предоставляет специальный репозиторий PoC TUNderflow для контролируемой проверки.

Для безопасного исследовательского процесса:

root@kitploit:~
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

Мониторинг ядра:

root@kitploit:~
sudo dmesg -w

Цель лаборатории — продемонстрировать разницу между уязвимым и исправленным поведением, а не атаковать производственные системы.


📂 Структура репозитория

root@kitploit:~
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

🔐 Меры защиты

Рекомендуемая мера защиты — установить ядро, содержащее исправление безопасности из upstream, или соответствующий backport от дистрибутива.

Для Debian/Kali:

root@kitploit:~
sudo apt update
sudo apt full-upgrade

Затем перезагрузитесь:

root@kitploit:~
sudo reboot

Проверьте:

root@kitploit:~
uname -r

Для производственных сред проверяйте установленное ядро дистрибутива по рекомендации по безопасности от производителя, а не полагайтесь исключительно на номер версии upstream.

Oracle Linux, например, опубликовал обновления безопасности, содержащие исправление net: tun: bound receive headroom.


📦 Исправления в стабильных ядрах

В публичном раскрытии указаны следующие стабильные релизы ядра как первые релизы, содержащие исправления для четырёх раскрытых уязвимостей локального получения root, включая TUNderflow:


🧩 Уроки безопасности

TUNderflow демонстрирует несколько важных принципов безопасности ядра:

01 — Ограничивайте значения, подверженные внешнему влиянию

Значения конфигурации сети никогда не должны слепо приниматься на веру.

02 — Проверяйте арифметику перед выделением памяти

Целочисленное переполнение может превратить кажущееся безобидным вычисление в примитив нарушения безопасности памяти.

03 — Отделяйте метаданные от предположений о памяти

Значение headroom сетевого устройства должно оставаться согласованным с фактическим бюджетом памяти skb.

04 — Сложные сетевые стеки увеличивают поверхность атаки

Уровни виртуальной сети могут передавать неожиданные метаданные пакетов через несколько подсистем.

05 — Анализ патчей имеет значение

Изучение исправления в upstream часто даёт более ясное понимание исходной уязвимости, чем рассмотрение только лишь краха.


📚 Ссылки

  • CVE: CVE-2026-81000
  • Компонент: Linux Kernel TUN/TAP
  • Уязвимый файл: drivers/net/tun.c
  • Основная функция: tun_get_user()
  • Исправление в upstream: 447c9303942c439a117d9b76ce6d6e2116c38ee7
  • Исправление: net: tun: bound receive headroom
  • Раскрытие: Linux kernel security advisory / oss-security

👤 Исследование

0xBlackash

Cybersecurity Research · Linux Kernel Security · Vulnerability Research · CTF


CVE-2026-81000 · TUNderflow · TUN/TAP · Linux Kernel · LPE


Research • Analyze • Exploit • Harden

Скачать инструмент
ПолеДетали
CVECVE-2026-81000
Кодовое имяTUNderflow
КомпонентЯдро Linux
ПодсистемаTUN/TAP
Уязвимый кодdrivers/net/tun.c
Основная функцияtun_get_user()
Класс ошибкиЦелочисленное переполнение / выход за границы памяти
ВоздействиеПовреждение памяти ядра
Потенциальное воздействиеЛокальное повышение привилегий
CVSS v3.17.8 — Высокий
Вектор атакиЛокальный
Требуемые привилегииНизкие
Взаимодействие с пользователемОтсутствует
СтатусИсправлено
Свойство безопасностиУязвимаяИсправленная
Headroom ограничен❌✅
Большой headroom обрабатывается безопасно❌✅
Условие переполнения предотвращено❌✅
Размещение данных skb защищено❌✅
Некорректная конфигурация сети безопасно отклоняется❌✅
ВеткаИсправленный релиз
5.105.10.270
5.155.15.221
6.16.1.188
6.66.6.157
6.126.12.109
6.186.18.50
7.27.2.4