
Автоматизированное воспроизведение и анализ CVE-2021-26708 — уязвимости use-after-free в подсистеме AF_VSOCK ядра Linux (v5.10.12). Включает PoC-эксплойт, отчёт об обнаружении во время выполнения с помощью KASAN и полную конфигурацию сборки ядра для воспроизведения окружения. Создано с помощью KernJC.
Этот репозиторий содержит полное воспроизведение и анализ CVE-2021-26708 — уязвимости типа use-after-free, вызванной состоянием гонки в операциях с сокетами AF_VSOCK в ядре Linux (v5.10.12). Вся экспериментальная среда была сгенерирована и запущена с помощью KernJC — автоматизированного инструмента для генерации уязвимых сред для уязвимостей ядра Linux.
| Поле | Значение |
|---|
| CVE | CVE-2021-26708 |
| Тип | Использование после освобождения (UAF) |
| Корневая причина | Состояние гонки в virtio_transport_notify_buffer_size() при параллельных операциях с сокетами AF_VSOCK |
| Версия ядра | 5.10.12 |
| Обнаружение | KASAN (Kernel Address Sanitizer) — полный стек вызовов с отслеживанием выделения/освобождения памяти |
| Серьёзность | Высокая (CVSS 7.0) — локальное повышение привилегий до root |
| Файл | Описание |
|---|---|
KernJC: Automated Vulnerable Environment Generation for Linux Kernel Vulnerabilities.pdf | Статья KernJC (Ruan и др., RAID 2024) |
experiment_report.pdf | Полный отчёт об эксперименте по воспроизведению этой CVE (7 страниц) |
poc.c | Эксплойт класса proof-of-concept, запускающий состояние гонки (источник: jordan9001/vsock_poc) |
kasan_report.txt | Отчёт KASAN об использовании после освобождения, полученный при воспроизведении |
kernel_config.txt | Файл .config ядра Linux, использованный для уязвимой сборки (5.10.12, x86_64) |
Все эксперименты были проведены в автоматизированной среде KernJC:
| Компонент | Версия / Спецификация |
|---|---|
| Хост-ОС | Ubuntu 22.04 |
| QEMU | 6.2.0 с KVM + vhost-vsock |
| Ядро | Linux 5.10.12 (x86_64) |
| Компилятор | GCC 9.5.0 |
| Автоматизация | KernJC v0.8.3 |
Этот проект распространяется под лицензией MIT — подробности см. в LICENSE.