CVE-2026-80924 в Linux Kernel: утечка ключей Kerberos, уязвимые версии и защита

CVE: CVE-2026-80924
Продукт: Linux Kernel
Дата публикации: 09.09.2026
Критичность: HIGH
CVSS: 7.5 (3.1)
EPSS: нет данных; процентиль нет данных
CISA KEV: нет подтверждения в каталоге CISA KEV

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


В ядре Linux обнаружена уязвимость в модуле криптографии Kerberos, позволяющая злоумышленнику получить доступ к чувствительным ключевым данным. Статья разбирает механику ошибки, условия эксплуатации и методы проверки исправления.

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


Уязвимость позволяет злоумышленнику, имеющему доступ к памяти ядра, извлечь ключи Kerberos из освобождённых буферов. Это нарушает конфиденциальность криптографических сессий.

  • Тип ошибки: Утечка чувствительных данных (Information Disclosure).
  • CVSS: 7.5 (HIGH) с вектором CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.
  • Условия атаки: Требуется доступ к памяти ядра (например, через другую уязвимость).
  • Эксплуатация: Публичные данные о реальной эксплуатации отсутствуют.
  • EPSS: Данные об оценке вероятности эксплуатации не предоставлены.

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


Уязвимость затрагивает версии ядра Linux, содержащие исходный код модуля crypto/krb5 до внесения исправления. Точный список версий зависит от дистрибутива и его политики поддержки.

  • Компонент: crypto/krb5/krb5_api.c.
  • Функции: crypto_krb5_prepare_encryption() и crypto_krb5_prepare_checksum().
  • Исправление: Внесено в стабильные ветки ядра (stable tree).

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


Причина ошибки заключается в некорректном освобождении памяти, содержащей чувствительные данные. Функции crypto_krb5_prepare_encryption() и crypto_krb5_prepare_checksum() использовали стандартную функцию kfree() для освобождения буферов с ключами Kerberos.

Функция kfree() не обнуляет содержимое памяти перед освобождением. В результате ключевые данные остаются в освобождённом объекте slab-аллокатора и могут быть прочитаны другим процессом или атакующим, имеющим доступ к памяти ядра.

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


Атакующий использует уязвимость для чтения памяти ядра, где ранее находились ключи Kerberos. После вызова функций подготовки шифрования или проверки контрольных сумм буфер освобождается, но данные не стираются.

Злоумышленник может извлечь эти данные, если у него есть возможность чтения произвольной памяти ядра. Полученные ключи позволяют расшифровать перехваченные сессии Kerberos или подделать аутентификационные токены.

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


Для успешной эксплуатации уязвимости атакующему необходимо:

  • Доступ к памяти ядра: Наличие другой уязвимости, позволяющей читать память ядра (например, arbitrary read).
  • Активность Kerberos: Система должна использовать модуль crypto/krb5 для аутентификации или шифрования.
  • Время: Ключи должны быть недавно сгенерированы и освобождены, но не перезаписаны другими данными.

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


Атакующий эксплуатирует уязвимость чтения памяти ядра для доступа к освобождённым slab-объектам. Он сканирует память в поисках структур, характерных для ключей Kerberos.

После обнаружения ключей злоумышленник использует их для расшифровки перехваченного трафика Kerberos или создания поддельных тикетов. Это позволяет ему аутентифицироваться в системе под чужим именем или получить доступ к защищённым ресурсам.

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


Публичные данные о готовых эксплойтах или подтверждённой эксплуатации в реальных атаках отсутствуют. Уязвимость была исправлена в ядре, но информация о её использовании в дикой природе не публиковалась.

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


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

  • Аномальное использование Kerberos: Необычные попытки аутентификации или расшифровки сессий.
  • Доступ к памяти ядра: Признаки эксплуатации других уязвимостей, позволяющих читать память ядра.
  • Журналы аудита: Записи о подозрительных операциях с криптографическими модулями.

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


Для обнаружения атаки рекомендуется:

  • Мониторинг Kerberos: Анализ логов аутентификации на предмет аномалий.
  • Контроль целостности ядра: Использование инструментов для обнаружения изменений в памяти ядра.
  • Аудит доступа: Проверка журналов доступа к чувствительным ресурсам, защищённым Kerberos.

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


Для проверки версии ядра используйте:

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

Сравните полученную версию с официальными релизами дистрибутива, чтобы убедиться в наличии исправления.

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


Для устранения уязвимости необходимо обновить ядро до версии, содержащей исправление. Исправление заменяет kfree() на kfree_sensitive() в функциях crypto_krb5_prepare_encryption() и crypto_krb5_prepare_checksum().

  • Обновление ядра: Установите последние обновления безопасности от вашего дистрибутива.
  • Перезагрузка: После обновления перезагрузите систему для применения нового ядра.

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


Пока обновление не установлено, можно:

  • Ограничить доступ: Ограничьте доступ к системе для пользователей, не требующих Kerberos.
  • Мониторинг: Усиленный мониторинг аутентификации и криптографических операций.
  • Изоляция: Изолируйте критичные системы, использующие Kerberos, от внешней сети.

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


Для проверки исправления:

  • Проверка версии: Убедитесь, что установлена версия ядра, содержащая исправление.
  • Тестирование: Проведите тестирование аутентификации Kerberos для подтверждения работоспособности.
  • Аудит: Проверьте журналы на предмет аномалий после обновления.

Вывод​


Уязвимость CVE-2026-80924 представляет риск утечки ключей Kerberos из памяти ядра. Администраторам необходимо обновить ядро до исправленной версии и усилить мониторинг аутентификации. Отсутствие публичных эксплойтов не исключает риска, поэтому своевременное обновление критично.

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


  1. NVD — CVE-2026-80924
  2. crypto: krb5 - use kfree_sensitive() for derived key buffers - kernel/git/stable/linux.git - Linux kernel stable tree
  3. crypto: krb5 - use kfree_sensitive() for derived key buffers - kernel/git/stable/linux.git - Linux kernel stable tree
  4. crypto: krb5 - use kfree_sensitive() for derived key buffers - kernel/git/stable/linux.git - Linux kernel stable tree
  5. crypto: krb5 - use kfree_sensitive() for derived key buffers - kernel/git/stable/linux.git - Linux kernel stable tree
  6. CVEs — The Linux Kernel documentation

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


  • 10.09.2026 — Опубликована первая версия материала.
  • 10.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ