CVE: CVE-2026-74705
Продукт: Debian
Дата публикации: 22.08.2026
Критичность: CRITICAL
CVSS: 10.0 (3.1)
EPSS: 0,50%; процентиль 40,64%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В ядре Linux обнаружена уязвимость use-after-free в функции сегментации UDP-туннелей. Ошибка возникает при некорректном порядке получения указателя на заголовок UDP относительно операции перемещения данных в буфере skb.
Для администраторов Debian критично, что уязвимость затрагивает несколько поддерживаемых релизов, включая bookworm и bullseye, где исправление пока не выпущено. Статья разбирает механику ошибки, статус патчей в Debian и безопасные методы проверки состояния системы.
Основные характеристики
Риск связан с нарушением целостности памяти в сетевом стеке ядра при обработке туннельного трафика. Успешная эксплуатация может привести к удаленному выполнению кода или отказу в обслуживании без необходимости аутентификации.
- Тип ошибки: Use-after-free (UAF) в функции
__skb_udp_tunnel_segment().
- CVSS 3.1: 10.0 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H. Это означает, что атака возможна удаленно, сложность низкая, привилегии не требуются, а последствия затрагивают все три компонента CIA.
- EPSS: 0,5% (процентиль 40,64%). Модель FIRST оценивает вероятность эксплуатации в ближайшие 30 дней как низкую, но не нулевую.
- Статус в Debian: Для bookworm, bullseye и forky статус «open» (исправление в разработке или не выпущено). Для trixie и sid статус «resolved».
Какие продукты и версии затронуты
Уязвимость затрагивает пакет
linux в дистрибутиве Debian. Статус исправления различается в зависимости от релиза. Ниже приведены данные из Debian Security Tracker.- bookworm: Статус
open. Текущая версия в репозиторииbookworm: 6.1.176-1. Вbookworm-security: 6.1.180-1. Исправленная версия не указана.
- bullseye: Статус
open. Текущая версия в репозиторииbullseye: 5.10.223-1. Вbullseye-security: 5.10.262-1. Исправленная версия не указана.
- forky: Статус
open. Текущая версия: 7.1.8-2. Исправленная версия не указана.
- trixie: Статус
resolved. Исправленная версия: 6.12.105-1. Текущая версия вtrixie-security: 6.12.107-1.
- sid (unstable): Статус
resolved. Исправленная версия: 7.1.9-1. Текущая версия: 7.1.12-1.
Причина уязвимости
Причина уязвимости кроется в порядке выполнения операций в функции
__skb_udp_tunnel_segment(). Код сначала получает указатель на заголовок UDP, а затем выполняет операцию pull для обеспечения наличия туннельного заголовка в начале буфера skb.Операция
pull может вызвать перераспределение памяти (realloc) для skb->head. Если это происходит, ранее сохраненный указатель на заголовок UDP становится недействительным (dangling pointer). Последующее обращение к этому указателю приводит к чтению или записи в освобожденную память, что классифицируется как use-after-free.Как работает атака
Атакующий отправляет специально сформированные UDP-пакеты, которые проходят через механизм сегментации туннелей в ядре. Для срабатывания ошибки необходимо, чтобы при обработке пакета сработало условие, при котором
skb->head требует перераспределения памяти в процессе pull.После перераспределения памяти функция продолжает использовать старый указатель на UDP-заголовок. Это позволяет атакующему контролировать данные, которые читаются или записываются в невалидную область памяти. В контексте ядра это может привести к повреждению структур данных, вызову исключений (panic) или, в худшем случае, к удаленному выполнению кода с привилегиями ядра.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо:
- Сетевой доступ: Возможность отправлять UDP-пакеты на целевой хост, где активен туннельный трафик.
- Отсутствие аутентификации: Вектор CVSS указывает
PR:N, что означает, что аутентификация не требуется.
- Точное управление буфером: Необходимость формирования пакета таким образом, чтобы вызвать перераспределение памяти
skb->headв нужный момент. Это требует знания внутренней структуры буферов и состояния сети, что повышает сложность практической эксплуатации по сравнению с простыми ошибками ввода-вывода.
Возможный сценарий атаки
Сценарий атаки начинается с отправки UDP-пакета, который идентифицируется ядром как туннельный трафик, требующий сегментации. Пакет попадает в функцию
__skb_udp_tunnel_segment().В процессе обработки функция пытается обеспечить доступ к туннельному заголовку, вызывая
pull. Если размер данных требует перемещения буфера, память перераспределяется. Функция продолжает выполнение, используя старый указатель на UDP-заголовок.Если атакующий заранее подготовил данные в освобожденной памяти (через другие механизмы или предсказуемость аллокатора), он может повредить критические структуры ядра. Результатом может быть падение системы (DoS) или выполнение кода атакующего в контексте ядра.
Есть ли публичный эксплойт
На момент публикации CVE-2026-74705 в каталоге NVD и в материалах Debian Security Tracker отсутствуют сведения о публичных эксплойтах или подтвержденной эксплуатации в реальных атаках.
Ссылки на git.kernel.org указывают на коммиты с исправлением, что подтверждает наличие технического описания и патча. Однако отсутствие упоминаний в CISA KEV и низкий балл EPSS (0,5%) свидетельствуют о том, что массовая эксплуатация пока не зафиксирована. Отсутствие публичного PoC не гарантирует, что эксплойт не существует в закрытых базах данных.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для этой уязвимости в предоставленных источниках не раскрыты.
Общие неспецифичные признаки, которые могут указывать на попытку эксплуатации, включают:
- Внезапные сбои ядра (kernel panics) или перезагрузки системы при обработке сетевого трафика.
- Аномальные записи в
dmesgилиkern.log, связанные с ошибками памяти или сетевыми драйверами.
- Непредсказуемое поведение сетевых сервисов, использующих туннели (например, GRE, IPsec).
Как обнаружить атаку
Для обнаружения потенциальной эксплуатации или последствий уязвимости рекомендуется:
- Мониторинг логов ядра: Анализ
dmesgи/var/log/kern.logна наличие сообщений об ошибках памяти, segfaults или panic в контексте сетевых функций.
- Контроль целостности системы: Использование инструментов типа
AIDEилиTripwireдля отслеживания изменений в системных файлах, если подозревается успешная эксплуатация.
- Сетевой анализ: Мониторинг аномального UDP-трафика, особенно если система участвует в туннельных соединениях. Однако без специфичных сигнатур это может генерировать много ложных срабатываний.
Как проверить свою версию
Для проверки текущей версии пакета
linux и статуса исправления в Debian используйте следующие команды. Замените <имя-пакета> на linux, если вы проверяете именно этот пакет.
Bash:
# Проверка версии дистрибутива
cat /etc/debian_version
cat /etc/os-release
# Проверка версии установленного пакета ядра
apt-cache policy linux
dpkg-query -W -f='${Package} ${Version}\n' linux
Сравните полученную версию с данными из Debian Security Tracker. Для bookworm и bullseye убедитесь, что вы не используете версии, предшествующие потенциальному патчу, если он будет выпущен.
Исправление
Основным методом устранения уязвимости является обновление пакета
linux до версий, содержащих исправление.- trixie: Обновитесь до версии 6.12.105-1 или выше. Текущая версия в security-репозитории 6.12.107-1 содержит исправление.
- sid: Обновитесь до версии 7.1.9-1 или выше. Текущая версия 7.1.12-1 содержит исправление.
- bookworm, bullseye, forky: На момент подготовки статьи исправление не выпущено в security-репозиториях. Рекомендуется следить за обновлениями в Debian Security Tracker. При наличии критической необходимости можно рассмотреть применение патча из upstream-ядра, но это требует тщательного тестирования.
Для применения обновлений используйте стандартные средства пакетного менеджера:
Bash:
apt update
apt upgrade linux-image-$(uname -r)
После обновления перезагрузите систему для применения нового ядра.
Временные меры защиты
Пока исправление не выпущено для bookworm, bullseye и forky, можно рассмотреть следующие временные меры:
- Ограничение туннельного трафика: Если возможно, отключите или ограничьте доступ к туннельным интерфейсам (GRE, IPsec и т.д.) для недоверенных сетей.
- Сетевая сегментация: Изолируйте критические хосты от внешних сетей, где может находиться атакующий.
- Мониторинг: Усиленный мониторинг логов ядра и сетевой активности для раннего обнаружения аномалий.
Эти меры снижают вероятность успешной эксплуатации, но не устраняют уязвимость полностью.
Как проверить устранение уязвимости
После применения обновлений проверьте, что система использует исправленное ядро.
Bash:
# Проверка версии загруженного ядра
uname -a
# Проверка версии пакета
dpkg-query -W -f='${Package} ${Version}\n' linux-image-$(uname -r)
Убедитесь, что версия соответствует или превышает исправленную версию, указанную в Debian Security Tracker для вашего релиза. Для trixie это 6.12.105-1, для sid — 7.1.9-1. Если версия ниже, обновление не применилось корректно.
Вывод
CVE-2026-74705 представляет собой критическую уязвимость в ядре Linux, затрагивающую несколько релизов Debian. Для администраторов bookworm, bullseye и forky ситуация требует внимания, так как исправление пока не выпущено.
Рекомендуется следить за обновлениями в Debian Security Tracker и применять временные меры защиты, если система подвержена риску. Для trixie и sid обновление до последних версий устраняет уязвимость.
Официальные источники
История обновлений статьи
- 26.08.2026 — Опубликована первая версия материала.
- 29.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
- 30.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
