CVE-2026-72194 в Linux Kernel: переполнение стека в NTFS3

CVE: CVE-2026-72194
Продукт: Linux Kernel
Дата публикации: 15.08.2026
Критичность: не определена
CVSS: нет данных
EPSS: 0,22%; процентиль 13,13%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В драйвере файловой системы NTFS3 для Linux Kernel обнаружена уязвимость, приводящая к переполнению стека ядра. Функция indx_find_buffer() не ограничивает глубину рекурсии при обходе B+ дерева индексов. Специально созданный образ NTFS с циклическими ссылками вызывает бесконечную рекурсию, что завершается паникой системы. Уязвимость активируется при удалении файла, запускающего путь перераспределения индекса.

Основные характеристики​


Ошибка относится к классу переполнения стека (Stack Overflow) в пространстве ядра. Корневая причина — отсутствие проверки глубины вложенности в функции indx_find_buffer(). Уязвимость проявляется только при выполнении операции удаления файла, которая вызывает fallback-путь перераспределения в indx_delete_entry(). Ранее аналогичная проблема была исправлена в смежной функции indx_find(), однако indx_find_buffer() осталась без защиты. Исправление вводит счетчик глубины и прерывает выполнение при достижении порога.

Какие продукты и версии затронуты​


Linux Kernel с включенным модулем файловой системы NTFS3 (fs/ntfs3). Уязвимы версии ядра, содержащие коммит 82cae269cfa9 («fs/ntfs3: Add initialization of super block»), но не имеющие исправления 1ebd684b8f62. Затронуты системы, использующие драйвер NTFS3, включая настольные дистрибутивы с функцией автоматического монтирования внешних накопителей.

Причина уязвимости​


Функция indx_find_buffer() в файле fs/ntfs3/index.c рекурсивно спускается по узлам B+ дерева индексов без ограничения глубины. При наличии в образе NTFS циклических ссылок между узлами индекса (circular index node references), рекурсия становится неограниченной. Это приводит к исчерпанию памяти стека ядра (kernel stack overflow) и последующей панике системы. Проблема была пропущена при предыдущем исправлении аналогичной ошибки в функции indx_find().

Как работает атака​


Атакующий создает вредоносный образ файловой системы NTFS, содержащий структуру индексов с циклическими ссылками. При монтировании этого тома (например, USB-накопителя) ядро загружает метаданные. Уязвимость активируется не при простом чтении, а при попытке удаления файла, запись индекса которого запускает путь перераспределения (rebalancing fallback path) в функции indx_delete_entry(). Эта функция вызывает indx_find_buffer(), которая, следуя по циклическим ссылкам, рекурсивно вызывает саму себя без ограничения глубины, пока стек ядра не переполнится.

Условия успешной эксплуатации​


  1. Наличие в системе модуля ядра NTFS3.
  2. Возможность монтировать внешние тома NTFS (например, через USB).
  3. Права на выполнение операции удаления файла в смонтированной файловой системе.
  4. Вредоносный образ NTFS с специально сконструированными циклическими ссылками в узлах индекса.

Возможный сценарий атаки​


Сценарий эксплуатации часто рассматривается в контексте атак через вредоносные USB-накопители. Пользователь вставляет USB-накопитель с файловой системой NTFS в компьютер. Если включено автоматическое монтирование (automount), система монтирует том. Атакующий заранее подготовил файл, удаление которого (например, пользователем или скриптом очистки) вызывает срабатывание уязвимости. При попытке удалить этот файл, ядро входит в бесконечную рекурсию, стек переполняется, и система аварийно завершает работу. Это приводит к отказу в обслуживании (DoS).

Есть ли публичный эксплойт​


В официальных источниках нет подтверждения о существовании публичного эксплойта или PoC-кода, используемого в реальных атаках. Техническое описание уязвимости достаточно подробно, чтобы позволить специалистам по безопасности воспроизвести условие переполнения стека в лабораторных условиях. Статус CVE — «Received», что указывает на недавнее присвоение идентификатора.

Признаки эксплуатации​


Специфичных индикаторов компрометации (IOC) для этой уязвимости не существует, так как результат атаки — это отказ в обслуживании, а не скрытное проникновение. Общие признаки включают:

  • Непредвиденные перезагрузки системы или Kernel Panic сразу после монтирования USB-накопителя NTFS.
  • Сообщения в системном журнале (dmesg) о переполнении стека (stack overflow) или сбое в модуле ntfs3.
  • Ошибки при удалении файлов на внешних NTFS-томов.

Как обнаружить атаку​


Для выявления систем, подверженных риску, необходимо проверить версию ядра и наличие модуля NTFS3. Анализ журналов ядра (dmesg) на предмет сообщений об ошибках в ntfs3 может указать на попытки эксплуатации. Мониторинг событий монтирования внешних носителей и последующих сбоев системы также является эффективным методом обнаружения.

Как проверить свою версию​


Для проверки версии ядра Linux используйте следующие команды:

Bash:
uname -r
uname -a
cat /proc/version

Сравните полученную версию с перечнем исправленных версий в базах данных вашего дистрибутива. Уязвимы версии, не содержащие коммит 1ebd684b8f627f75bc3e03f8b2ad8400fd1f02cd.

Исправление​


Установите последнее обновление ядра Linux, предоставленное вашим дистрибутивом. Исправление добавляет параметр глубины (depth) в функцию indx_find_buffer() и прерывает рекурсию, если она превышает размер массива fnd->nodes (20 уровней), возвращая ошибку -EINVAL. Это предотвращает переполнение стека. Обновление доступно в стабильных ветках ядра (stable tree).

Временные меры защиты​


  1. Отключите автоматическое монтирование (automount) внешних носителей NTFS в файловых менеджерах и systemd.
  2. Избегайте монтирования USB-накопителей NTFS от непроверенных источников.
  3. Если использование NTFS3 необходимо, рассмотрите возможность отключения модуля ntfs3, если он не требуется, или использования альтернативных драйверов (например, ntfs-3g), если они доступны и безопасны в вашей конфигурации.
  4. Ограничьте права пользователей на монтирование внешних томов.

Как проверить устранение уязвимости​


После обновления ядра проверьте версию с помощью uname -r. Убедитесь, что новая версия ядра включает исправление CVE-2026-72194 (коммит 1ebd684b8f62). Для проверки можно также просмотреть историю коммитов ядра или использовать инструменты управления пакетами (например, apt changelog linux-image-<версия> или rpm -q --changelog kernel).

Вывод​


CVE-2026-72194 представляет собой риск отказа в обслуживании для систем Linux с поддержкой NTFS3. Хотя эксплуатация требует взаимодействия пользователя (удаление файла), сценарий с вредоносными USB-накопителями остается актуальным. Своевременное обновление ядра и осторожность при работе с внешними носителями являются ключевыми мерами защиты.

Официальные источники​


  1. NVD — CVE-2026-72194
  2. FIRST EPSS — CVE-2026-72194
  3. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  4. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  5. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  6. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  7. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  8. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  9. fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow - kernel/git/stable/linux.git - Linux kernel stable tree
  10. CVEs — The Linux Kernel documentation

История обновлений статьи​


  • 17.08.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ