CVE: CVE-2026-89538
Продукт: Linux Kernel
Дата публикации: 11.09.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,70%; процентиль 51,42%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В подсистеме SUNRPC ядра Linux обнаружена уязвимость, позволяющая нарушителю с валидным GSS-контекстом отправить сформированный Kerberos v2 токен, который приводит к некорректной обработке буфера. Это может вызвать отказ в обслуживании или нарушение целостности данных. Статья разбирает механику ошибки, условия эксплуатации и способы проверки исправления.
Основные характеристики
Риск связан с некорректной валидацией структуры токена Kerberos v2 в функции обработки GSS-обёрток. При определённых условиях это может привести к нарушению целостности данных или отказу в обслуживании.
- 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,70% (процентиль 51,42%) — вероятность эксплуатации в ближайшие 30 дней оценивается как низкая.
- CISA KEV: отсутствует в каталоге — уязвимость не признана активно эксплуатируемой.
- Статус: Received — запись в NVD находится на этапе первичной обработки.
Какие продукты и версии затронуты
Затронуты версии ядра Linux, в которых отсутствует исправление, добавленное в коммите
ad484748eec0a66eac0f13ab53b3fbedb7333c91. Конкретные номера версий дистрибутивов в предоставленных источниках не раскрыты. Рекомендуется свериться с официальными уведомлениями вашего поставщика.Причина уязвимости
Функция
gss_krb5_unwrap_v2() устанавливает buf->len на логическую длину, которая может быть меньше фактической ёмкости страницы. Далее вызывается xdr_buf_trim() с длиной, вычисленной из поля ec (extra count) в заголовке токена.Поле
ec аутентифицируется, но валидный участник сессии может зашифровать токен с ec, превышающим длину открытого текста. Хотя xdr_buf_trim() предотвращает подтекание беззнакового числа, буфер остаётся в некорректном состоянии (нулевая длина, несогласованные iov-длина).Как работает атака
Нарушитель, обладающий валидным GSS-контекстом, отправляет токен Kerberos v2, в котором поле
ec превышает фактическую длину полезной нагрузки. Из-за отсутствия проверки на соответствие ec доступной длине сегмента, функция xdr_buf_trim() получает некорректный параметр.Это приводит к тому, что буфер
xdr_buf переходит в семантически невалидное состояние, что может нарушить последующую обработку данных или вызвать сбой.Условия успешной эксплуатации
Для успешной эксплуатации необходимо наличие валидного GSS-контекста (Kerberos v2) и возможность отправки сформированного токена на уязвимый узел. Атака возможна по сети (AV:N) без необходимости дополнительных привилегий (PR:N) и взаимодействия пользователя (UI:N).
Возможный сценарий атаки
Атакующий устанавливает соединение с сервисом, использующим SUNRPC и Kerberos v2. Он отправляет специально сформированный токен, в котором поле
ec превышает допустимые пределы.Ядро обрабатывает токен, и из-за отсутствия проверки происходит некорректное изменение состояния буфера. В результате сервис может завершиться с ошибкой или начать обрабатывать повреждённые данные.
Есть ли публичный эксплойт
В предоставленных источниках отсутствуют сведения о публичных PoC или подтверждённой эксплуатации в реальных атаках. Наличие исправления в стабильных ветках ядра указывает на то, что проблема была обнаружена и устранена до массового использования.
Признаки эксплуатации
Специфичные IOC для этой уязвимости в источниках не указаны. Общие признаки могут включать неожиданные сбои сервисов, использующих SUNRPC, или ошибки в логах Kerberos-аутентификации. Эти признаки неспецифичны и требуют дополнительной проверки.
Как обнаружить атаку
Для обнаружения атаки рекомендуется анализировать логи сервисов, использующих SUNRPC, на предмет ошибок GSS-аутентификации. Также полезно отслеживать аномальные завершения процессов, связанных с обработкой Kerberos-токенов. Специфичные сигнатуры для этой уязвимости в источниках не предоставлены.
Как проверить свою версию
Для проверки версии ядра используйте команды:
uname -r, uname -a, cat /proc/version. Сравните полученную версию с официальными списками исправлений вашего дистрибутива Linux. Если версия содержит коммит ad484748eec0a66eac0f13ab53b3fbedb7333c91, система защищена.Исправление
Основной способ устранения — обновление ядра Linux до версии, содержащей исправление. Для стабильных веток это коммит
ad484748eec0a66eac0f13ab53b3fbedb7333c91. Проверьте, что ваш дистрибутив выпустил обновление, и установите его через штатные средства управления пакетами.Временные меры защиты
Пока обновление не установлено, можно ограничить доступ к сервисам, использующим SUNRPC с Kerberos v2, через сетевые экраны. Также рекомендуется отключить использование Kerberos v2 в SUNRPC, если это позволяет конфигурация. Эти меры снижают, но не устраняют риск полностью.
Как проверить устранение уязвимости
После обновления проверьте версию ядра с помощью
uname -r. Убедитесь, что в логах ядра нет ошибок, связанных с обработкой GSS-токенов. Проведите функциональное тестирование сервисов, использующих SUNRPC, для подтверждения их работоспособности.Вывод
CVE-2026-89538 представляет серьёзный риск для систем, использующих SUNRPC с Kerberos v2. Обновление ядра до версии с исправлением является обязательным шагом. До применения патча рекомендуется ограничить сетевой доступ к уязвимым сервисам и мониторить логи на предмет аномальной активности.
Официальные источники
- NVD — CVE-2026-89538
- FIRST EPSS — CVE-2026-89538
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
- SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field - kernel/git/stable/linux.git - Linux kernel stable tree
История обновлений статьи
- 16.09.2026 — Опубликована первая версия материала.
