
Глубокий технический анализ и proof-of-concept для CVE-2024-38063 — критической уязвимости удалённого выполнения кода в IPv6-ядре Windows. Включает разбор первопричины, PoC на основе Scapy и изолированное лабораторное руководство для исследовательских целей.
Этот репозиторий содержит наши исследования и анализ CVE-2024-38063, критической уязвимости в стеке TCP/IP Windows.
CVE расшифровывается как Common Vulnerabilities and Exposures (Общие уязвимости и воздействия). Это стандартизированный словарь публично раскрытых кибербезопасных недостатков, поддерживаемый корпорацией MITRE. Каждая запись получает уникальный идентификатор в формате CVE-ГОД-НОМЕР.
| Поле | Детали |
|---|
| ID CVE | CVE-2024-38063 |
| Псевдоним | The IPv6 Kernel Killer |
| Серьезность | Критическая (CVSS 9.8 / 10) |
| Тип | Удаленное выполнение кода (RCE) |
| Расположение | Стек TCP/IP Windows (tcpip.sys) |
| Дата исправления | Август 2024 (вторник исправлений Microsoft) |
| Обнаружено | ZeQiao Wu (NSFOCUS TIANQI LAB) |
Оценка CVSS 9.8 указывает на проблему почти максимальной серьезности, требующую немедленного исправления.
В ходе этого исследования мы выполнили следующую работу:
Изучение справочной информации о CVE
Объяснили, что такое CVE, как идентификаторы назначаются MITRE и какую информацию обычно содержит запись CVE.
Характеристика уязвимости
Задокументировали, почему CVE-2024-38063 считается ошибкой «святого Грааля»: отсутствие аутентификации, отсутствие взаимодействия с пользователем, потенциальная червеобразность, IPv6 включен по умолчанию и воздействие на уровне ядра.
Основы IPv6
Осветили различия между IPv4 и IPv6, роль заголовков расширения и почему фрагментация в IPv6 работает иначе.
Глубокий анализ первопричины
Проследили полный путь пакетов внутри tcpip.sys:
NET_BUFFER_LIST (NBL)Ipv6pProcessOptions и IppSendErrorListIpv6pReceiveFragmentОценка терминологии и сложности
Создали понятные таблицы, объясняющие термины безопасности, специфические для Windows концепции и относительную сложность каждого этапа эксплуатации.
Разработка Proof-of-Concept
Создали и задокументировали Python-скрипт на основе Scapy, который формирует необходимые перемежающиеся недопустимые пакеты Destination Options и фрагменты IPv6 для запуска уязвимости.
Полное руководство по изолированной лаборатории
Написали пошаговые инструкции для:
bcdedit /set debug onДемонстрация
Записали видео, показывающее полную настройку лаборатории, выполнение скрипта и успешный сбой.
Обзор исправления
Задокументировали официальные августовские кумулятивные обновления 2024 года (номера KB) и то, как исправление устраняет состояние гонки.
Ошибка обладает несколькими характеристиками высокого риска:
tcpip.sys (Ring 0). Успешная эксплуатация предоставляет полный контроль над системой.Уязвимость запускается комбинацией двух заголовков расширения IPv6:
Заголовок Destination Options (nh=60)
Содержит недопустимый тип опции (otype > 0x80). Это заставляет Windows генерировать ошибку ICMPv6 Parameter Problem.
Заголовок Fragment (nh=44)
Удерживает пакеты в очереди сборки IPv6 даже после их повреждения.
NET_BUFFER_LIST (NBL).Ipv6pProcessOptions обнаруживает недопустимую опцию и передает NBL в IppSendErrorList.IppSendErrorList некорректно устанавливает внутренний флаг и повреждает последующие пакеты в том же NBL, принудительно обнуляя их DataLength.Ipv6pReceiveFragment вычисляет размер полезной нагрузки как 0 − HeaderSize, вызывая целочисленное переполнение (длина полезной нагрузки становится ~4 ГБ).RtlCopyMemory копирует огромную переполненную длину → переполнение кучи ядра.Подробная диаграмма потока данных и анализ на уровне функций доступны в полном отчете.
| Файл | Назначение |
|---|---|
CVE-2024-38063_Writeup.md | Полный подробный технический анализ и полное руководство по лаборатории |
poc_script.py | Proof-of-Concept на основе Scapy |
demo_video.mp4 | Видеодемонстрация |
README.md | Этот сводный документ |
Поместите три вспомогательных файла в корень репозитория (или обновите пути), чтобы они оставались связанными.
bcdedit /set debug on + перезагрузка) для повышения надежности объединения пакетов.2001:db8::20 → атакующий, 2001:db8::10 → цель).Полные шаги настройки, матрица устранения неполадок и инструкции по очистке задокументированы в отчете.
Microsoft выпустила исправление в рамках августовских кумулятивных обновлений 2024 года:
| Операционная система | Номер KB |
|---|---|
| Windows 11 | KB5041580 |
| Windows 10 | KB5041583 |
| Windows Server 2022 | KB5041581 |
| Windows Server 2019 | KB5041579 |
Исправление вводит надлежащую блокировку вокруг затронутых путей кода, устраняя состояние гонки, которое приводило к целочисленному переполнению и записи за пределами границ.
Все материалы в этом репозитории (отчет, скрипт и видео) предоставлены исключительно для образовательных и защитных исследований безопасности.
Исследовательская группа