CVE: CVE-2026-80736
Продукт: Linux Kernel
Дата публикации: 03.09.2026
Критичность: HIGH
CVSS: 7.8 (3.1)
EPSS: 0,16%; процентиль 5,80%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В драйвере Thunderbolt ядра Linux обнаружена ошибка выхода за границы локального массива. При обработке групп пропускной способности функция
tb_consumed_dp_bandwidth() обращается к элементу, который не существует в текущей реализации.Это приводит к чтению неинициализированных данных и искажению расчёта доступной полосы. Статья разбирает механику ошибки, условия её проявления и способы проверки исправления.
Основные характеристики
Риск связан с некорректным индексированием локального массива в подсистеме Thunderbolt. Ошибка приводит к чтению памяти за границами структуры и неточному учёту зарезервированной полосы пропускания.
- Тип ошибки: Выход за границы массива (Out-of-bounds read) в локальной переменной.
- CVSS 3.1: 7.8 (HIGH). Вектор:
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Локальный доступ, низкие привилегии, отсутствие взаимодействия пользователя.
- Эксплуатация: Публичные данные о массовой эксплуатации отсутствуют.
- EPSS: 0,16% (процентиль 5,80%).
Какие продукты и версии затронуты
Уязвимость затрагивает ядра Linux, содержащие драйвер Thunderbolt с функцией
tb_consumed_dp_bandwidth(). Ошибка была введена в коммите 52a4490e89d7 и исправлена в последующих версиях.- Компонент:
drivers/thunderbolt/tb.c.
- Функция:
tb_consumed_dp_bandwidth().
- Статус: Исправление внесено в стабильные ветки ядра. Точные номера версий зависят от дистрибутива и стабильной ветки, в которую был включён патч.
Причина уязвимости
Причина ошибки заключается в несоответствии между диапазоном допустимых идентификаторов групп и размером локального массива
group_reserved[].Валидные идентификаторы групп (Group ID) варьируются от 1 до
MAX_GROUPS, при этом ID 0 зарезервирован. Функция tb_consumed_dp_bandwidth() использует Group ID напрямую как индекс для доступа к массиву. Поскольку массив был объявлен с размером MAX_GROUPS, его валидные индексы ограничены диапазоном от 0 до MAX_GROUPS - 1.Когда в системе присутствует группа с максимальным ID (
MAX_GROUPS), обращение к элементу group_reserved[MAX_GROUPS] выходит за пределы выделенной области памяти. Это приводит к чтению неинициализированных данных и исключает зарезервированную полосу пропускания последней группы из итоговой суммы.Как работает атака
Атака эксплуатирует локальный доступ к ядру через подсистему Thunderbolt. Злоумышленник с низкими привилегиями может инициировать операции, связанные с настройкой туннелирования DisplayPort, что вызывает выполнение уязвимой функции.
Механизм уязвимости базируется на чтении памяти за границами локального массива. Поскольку массив
group_reserved[] находится в стеке, выход за его пределы приводит к чтению смежных данных стека. Это может привести к утечке информации о состоянии ядра или к непредсказуемому поведению при последующем использовании этих данных в логике расчёта полосы пропускания.Кроме того, ошибка приводит к логической некорректности: зарезервированная полоса пропускания для группы с максимальным ID не учитывается при суммировании. Это может нарушить балансировку ресурсов и привести к отказу в обслуживании для других подключений, использующих Thunderbolt.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо выполнение следующих условий:
- Локальный доступ: Злоумышленник должен иметь доступ к системе (локальная сессия или SSH).
- Низкие привилегии: Достаточно прав обычного пользователя для взаимодействия с подсистемой Thunderbolt.
- Наличие оборудования: Система должна иметь подключённое устройство Thunderbolt, поддерживающее туннелирование DisplayPort.
- Загрузка драйвера: Модуль
thunderboltдолжен быть загружен в ядро.
Возможный сценарий атаки
Злоумышленник с правами обычного пользователя подключает устройство Thunderbolt, поддерживающее DisplayPort. Через утилиты управления или системные вызовы он инициирует создание туннеля для группы с максимальным идентификатором.
При обработке запроса ядро вызывает функцию
tb_consumed_dp_bandwidth(). Функция пытается записать зарезервированную полосу пропускания в элемент массива с индексом, равным MAX_GROUPS. Поскольку массив имеет размер MAX_GROUPS, происходит выход за границы.В результате злоумышленник может получить доступ к данным стека, которые находятся по адресу, вычисленному на основе невалидного индекса. Это позволяет извлечь чувствительную информацию о состоянии ядра или повлиять на логику распределения ресурсов, что может привести к отказу в обслуживании или повышению привилегий.
Есть ли публичный эксплойт
На момент публикации CVE-2026-80736 публичные эксплойты в базах данных не зафиксированы. Официальные источники подтверждают наличие исправления в коде ядра, но не содержат данных о подтверждённой эксплуатации в реальных атаках.
Отсутствие сведений о публичном эксплойте не означает, что уязвимость не может быть использована. Механика ошибки (чтение за границами массива) является классической и может быть реализована в виде PoC (Proof of Concept) для демонстрации утечки информации или нарушения логики работы драйвера.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для CVE-2026-80736 в официальных источниках не раскрыты. Для обнаружения атаки рекомендуется использовать общие точки контроля, которые не являются специфичными для данной уязвимости:
- Аномальная активность Thunderbolt: Частые изменения конфигурации туннелей DisplayPort.
- Ошибки в логах ядра: Сообщения о некорректных запросах к подсистеме Thunderbolt.
- Аномальное потребление ресурсов: Необъяснимые изменения в использовании полосы пропускания Thunderbolt.
Как обнаружить атаку
Для обнаружения эксплуатации уязвимости следует анализировать логи ядра и активность подсистемы Thunderbolt. Поскольку специфичные IOC отсутствуют, мониторинг должен быть направлен на выявление аномального поведения драйвера.
- Мониторинг логов: Отслеживание сообщений
dmesgиjournalctlна наличие ошибок, связанных сthunderboltилиtb.c.
- Контроль конфигурации: Проверка изменений в конфигурации туннелей DisplayPort через утилиты
tbctl.
- Аудит доступа: Анализ логов доступа к устройствам Thunderbolt для выявления подозрительных операций с привилегиями обычного пользователя.
Как проверить свою версию
Для проверки версии ядра и наличия исправления используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Полученную версию ядра необходимо сверить с официальными релизами дистрибутива и стабильными ветками Linux Kernel. Исправление было включено в коммиты, связанные с
d2ee4d47aacbd2ba456092eeec670dba35fde291. Убедитесь, что ваша система использует ядро, содержащее этот коммит или более поздние версии.Исправление
Единственным подтверждённым способом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление.
- Обновление ядра: Установите последнюю доступную версию ядра из репозитория вашего дистрибутива.
- Проверка патчей: Убедитесь, что в ядре присутствует коммит
d2ee4d47aacbd2ba456092eeec670dba35fde291или его эквивалент в стабильной ветке.
- Перезагрузка: После обновления ядра выполните перезагрузку системы для применения изменений.
Временные меры защиты
До обновления ядра можно применить следующие временные меры для снижения риска:
- Отключение Thunderbolt: Если оборудование не используется, отключите его на уровне BIOS/UEFI или через утилиту
tbctl.
- Ограничение доступа: Ограничьте доступ к устройствам Thunderbolt для пользователей с низкими привилегиями через правила
udevилиapparmor.
- Мониторинг: Усиленный мониторинг логов ядра на предмет аномальной активности подсистемы Thunderbolt.
Как проверить устранение уязвимости
Для проверки успешного применения исправления выполните следующие действия:
- Проверка версии ядра: Убедитесь, что загруженное ядро соответствует версии, содержащей патч.
- Анализ кода: Если возможно, проверьте исходный код драйвера
thunderboltв вашей системе на наличие изменения размера массиваgroup_reserved[]доMAX_GROUPS + 1.
- Функциональное тестирование: Проведите тестирование туннелирования DisplayPort для подтверждения корректной работы подсистемы после обновления.
Вывод
CVE-2026-80736 представляет собой уязвимость в драйвере Thunderbolt ядра Linux, связанную с выходом за границы локального массива. Ошибка приводит к чтению неинициализированных данных и неточному расчёту полосы пропускания. Для администраторов критически важно обновить ядро до последней версии, содержащей исправление, и при необходимости ограничить доступ к устройствам Thunderbolt до завершения обновления.
Официальные источники
- NVD — CVE-2026-80736
- FIRST EPSS — CVE-2026-80736
- thunderbolt: Fix bandwidth group reservation indexing - kernel/git/stable/linux.git - Linux kernel stable tree
- thunderbolt: Fix bandwidth group reservation indexing - kernel/git/stable/linux.git - Linux kernel stable tree
- thunderbolt: Fix bandwidth group reservation indexing - kernel/git/stable/linux.git - Linux kernel stable tree
- thunderbolt: Fix bandwidth group reservation indexing - kernel/git/stable/linux.git - Linux kernel stable tree
- CVEs — The Linux Kernel documentation
История обновлений статьи
- 06.09.2026 — Опубликована первая версия материала.
