CVE: CVE-2026-74669
Продукт: Debian
Дата публикации: 22.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,51%; процентиль 41,58%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В ядре Linux обнаружена критическая уязвимость в модуле IPVS, позволяющая нарушителю из сети вызвать выход за границы буфера в стеке. Ошибка затрагивает несколько версий Debian, включая стабильные релизы, для которых исправление ещё не выпущено. Статья описывает механику атаки, статус патчей и способы проверки систем.
Основные характеристики
Уязвимость позволяет удалённому атакующему без прав доступа вызвать повреждение памяти в стеке ядра, что может привести к выполнению кода или отказу в обслуживании. Риск высокий, так как атака не требует взаимодействия с пользователем и может быть проведена из внешней сети.
- Тип ошибки: Выход за границы буфера в стеке (Stack Out-of-Bounds Write) в функции
__ip_options_echo().
- CVSS 3.1: 9.8 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Сетевой доступ, отсутствие необходимости в аутентификации, низкая сложность.
- Эксплуатация: Публичные эксплойты или подтверждённые атаки в дикой природе не зафиксированы.
- EPSS: 0,51% (процентиль 41,58%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая.
Какие продукты и версии затронуты
Уязвимость затрагивает пакет
linux в дистрибутиве Debian. Статус исправления различается для разных релизов.- Debian 12 (bookworm): Статус
open. Исправление отсутствует. Текущая версия в репозиторииbookworm-security:6.1.180-1.
- Debian 11 (bullseye): Статус
open. Исправление отсутствует. Текущая версия в репозиторииbullseye-security:5.10.262-1.
- Debian 14 (forky): Статус
open. Исправление отсутствует. Текущая версия:7.1.8-2.
- Debian 13 (trixie): Статус
resolved. Исправлено в версии6.12.105-1. Текущая версия вtrixie-security:6.12.107-1.
- Debian Unstable (sid): Статус
resolved. Исправлено в версии7.1.9-1. Текущая версия:7.1.12-1.
Причина уязвимости
Причина ошибки кроется в функции
ip_vs_in_icmp(), которая обрабатывает ICMP-сообщения для туннелированных пакетов. Функция перенаправляет указатель на исходный запрос, но не сбрасывает метаданные IPv4-опций, хранящиеся в IPCB(skb)->opt.Эти метаданные по-прежнему описывают внешний IPv4-заголовок. Если в нём присутствует опция
timestamp, смещение может указывать на область, которая после перенаправления попадает в транспортный заголовок. Функция __ip_options_echo() интерпретирует байт по этому устаревшему смещению как длину опции и копирует данные в фиксированное хранилище в стеке, вызывая выход за границы буфера.Как работает атака
Атакующий отправляет специально сформированный ICMP-пакет, который проходит через модуль IPVS. В пакете присутствует внешний IPv4-заголовок с опцией
timestamp.При обработке
ip_vs_in_icmp() ядро переключает контекст на внутренний пакет, но сохраняет указатели на опции внешнего заголовка. При попытке эха опций __ip_options_echo() обращается к памяти по устаревшему смещению, которое теперь указывает на данные транспортного протокола. Это приводит к записи данных за пределы выделенного стекового буфера в функции __icmp_send().Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо:
- Иметь сетевой доступ к узлу, где активен модуль IPVS.
- Успешно доставить ICMP-пакет, проходящий через логику туннелирования IPVS.
- Сформировать пакет с внешним IPv4-заголовком, содержащим опцию
timestamp, которая приведёт к некорректному смещению при обработке.
Возможный сценарий атаки
Сценарий атаки предполагает, что нарушитель из внешней сети направляет на сервер с настроенным балансировщиком нагрузки (IPVS) ICMP-сообщение. Пакет содержит внешний IPv4-заголовок с опцией
timestamp.Ядро обрабатывает ICMP-ошибку, перенаправляет указатель на внутренний пакет, но не очищает метаданные опций. При попытке отправки ответа ядро обращается к памяти по некорректному смещению, что приводит к выходу за границы стека. Это может вызвать сбой ядра (panic) или, при удачном стечении обстоятельств, выполнение произвольного кода с привилегиями ядра.
Есть ли публичный эксплойт
На момент публикации статьи публичные эксплойты, PoC или подтверждённые случаи эксплуатации в реальных атаках не зафиксированы. Ссылки в NVD ведут на коммиты с исправлением в ядре Linux, но не содержат готовых инструментов для атаки. Отсутствие сведений об эксплуатации не гарантирует, что эксплойты не существуют, но текущая вероятность атаки оценивается как низкая.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для этой уязвимости не опубликованы. Общие точки контроля, которые могут указывать на попытку атаки, включают:
- Аномальные ICMP-пакеты с нестандартными опциями IPv4, направленные на узлы с IPVS.
- Логи ядра с сообщениями о выходе за границы буфера (out-of-bounds) в стеке, если включён
stack protectorилиKASAN.
- Внезапные сбои ядра (kernel panic) или перезагрузки системы без видимых причин.
Как обнаружить атаку
Для обнаружения попыток эксплуатации рекомендуется:
- Мониторинг сетевого трафика на предмет ICMP-пакетов с опциями
timestamp, направленных на узлы с IPVS.
- Анализ логов ядра (
dmesg,journalctl) на наличие сообщений об ошибках памяти, связанных с функциямиip_vs_in_icmpили__ip_options_echo.
- Использование систем обнаружения вторжений (IDS/IPS) с правилами для аномального ICMP-трафика.
Как проверить свою версию
Для проверки версии ядра и пакета
linux в Debian используйте следующие команды:
Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy linux
dpkg-query -W -f='${Package} ${Version}\n' linux
Замените
<имя-пакета> на linux в командах apt-cache и dpkg-query, если вы проверяете именно этот пакет. Сравните полученную версию с версиями, указанными в разделе «Какие продукты и версии затронуты».Исправление
Основной способ устранения уязвимости — обновление пакета
linux до исправленной версии.- Debian 13 (trixie): Обновитесь до версии
6.12.105-1или выше.
- Debian Unstable (sid): Обновитесь до версии
7.1.9-1или выше.
- Debian 12 (bookworm), 11 (bullseye), 14 (forky): Исправление ещё не выпущено. Рекомендуется следить за обновлениями в Debian Security Tracker и применять патч, как только он станет доступен.
Для систем, где обновление невозможно, рассмотрите временные меры защиты, описанные ниже.
Временные меры защиты
Пока исправление не выпущено для всех версий Debian, можно применить следующие временные меры:
- Отключить модуль IPVS, если он не используется:
modprobe -r ip_vs.
- Ограничить доступ к узлу с IPVS на уровне файрвола, разрешая ICMP-трафик только от доверенных сетей.
- Использовать сетевые экраны для фильтрации ICMP-пакетов с нестандартными опциями IPv4.
- Включить
KASLRиstack protectorдля повышения сложности эксплуатации.
Как проверить устранение уязвимости
После обновления пакета
linux проверьте, что уязвимость устранена:- Убедитесь, что версия ядра соответствует исправленной:
uname -r.
- Проверьте, что пакет
linuxобновлён:dpkg-query -W -f='${Package} ${Version}\n' linux.
- Перезагрузите систему, чтобы загрузить новое ядро, если это требуется.
- Проверьте логи ядра на наличие ошибок после перезагрузки:
dmesg | grep -i error.
Вывод
CVE-2026-74669 представляет собой критическую уязвимость в ядре Linux, затрагивающую модуль IPVS. Она позволяет удалённому атакующему вызвать выход за границы буфера в стеке, что может привести к выполнению кода или отказу в обслуживании.
Для версий Debian, где исправление уже выпущено (trixie, sid), необходимо срочно обновить пакет
linux. Для остальных версий (bookworm, bullseye, forky) рекомендуется отключить IPVS или ограничить ICMP-трафик до выхода официального патча.Регулярно проверяйте статус уязвимости в Debian Security Tracker.
Официальные источники
История обновлений статьи
- 26.08.2026 — Опубликована первая версия материала.
- 30.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
