CVE: CVE-2026-68452
Продукт: Linux Kernel
Дата публикации: 13.08.2026
Критичность: HIGH
CVSS: 7.8 (3.1)
EPSS: 0,13%; процентиль 3,03%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-68452 (CVSS 7.8) затрагивает подсистему криптографии s390/zcrypt в Linux Kernel. Ошибка возникает из-за отсутствия проверки длины токена ключа AES перед копированием в блок параметров CPRB, что может привести к переполнению буфера. Статья описывает механику ошибки, условия эксплуатации и методы проверки систем архитектуры IBM Z.
Основные характеристики
Уязвимость классифицируется как HIGH (CVSS 3.1: 7.8). Вектор атаки требует локального доступа (AV:L), низких условий эксплуатации (AC:L) и наличия учетных данных с ограниченными привилегиями (PR:L). Пользовательское взаимодействие не требуется (UI:N). В случае успешной эксплуатации нарушаются конфиденциальность, целостность и доступность системы (C:H/I:H/A:H). Ошибка локализована в драйвере
drivers/s390/crypto/zcrypt_ccamisc.c и связана с функцией cca_cipher2protkey().Какие продукты и версии затронуты
Уязвимость затрагивает Linux Kernel на архитектуре s390 (IBM Z). Согласно метаданным исправления, ошибка присутствует в версиях ядра начиная с 5.4 и выше (Cc: [email protected] # 5.4+). Затронуты системы, использующие аппаратное ускорение криптографии CCA (Crypto Coprocessor Architecture) и подсистему zcrypt. Системы других архитектур (x86, ARM и др.) не подвержены этой конкретной ошибке.
Причина уязвимости
Причиной уязвимости является отсутствие валидации длины данных, переданных в функцию
cca_cipher2protkey(). Функция извлекает значение длины (len) непосредственно из структуры токена ключа (struct cipherkeytoken) и использует это значение для определения размера копируемых данных в блок параметров CPRB (Command Program Request Block). Если передается токен с завышенным значением длины, превышающим доступное пространство в буфере параметра (PARMBSIZE - sizeof(struct aureqparm)), происходит запись за пределы выделенной памяти.Как работает атака
Атака базируется на манипуляции структурой данных токена ключа AES. Атакующий формирует запрос к криптографическому API, содержащий токен ключа с модифицированным полем длины. При обработке запроса функция
cca_cipher2protkey() доверяет указанному значению длины и инициирует копирование данных в буфер CPRB. Поскольку проверка границ буфера отсутствует, данные копируются за пределы выделенного блока памяти. Это приводит к повреждению смежных структур данных в памяти ядра, что может вызвать отказ в обслуживании (Kernel Panic) или, при благоприятных условиях, выполнение произвольного кода с привилегиями ядра.Условия успешной эксплуатации
Для эксплуатации уязвимости необходимо наличие локального доступа к системе (AV:L). Атакующий должен обладать учетной записью с ограниченными привилегиями (PR:L), достаточными для вызова криптографических операций через интерфейс zcrypt. Требуется, чтобы система работала на архитектуре s390 и использовала модуль zcrypt с поддержкой CCA AES cipher keys. Отсутствие необходимости во взаимодействии пользователя (UI:N) позволяет автоматизировать атаку.
Возможный сценарий атаки
- Атакующий получает доступ к системе под учетной записью с ограниченными правами.
- С помощью системных вызовов или библиотек криптографии атакующий формирует запрос на обработку ключа AES через подсистему zcrypt.
- В запросе передается специально сформированный токен ключа, в котором поле длины указывает на размер, превышающий размер буфера CPRB.
- Ядро обрабатывает запрос, функция
cca_cipher2protkey()копирует данные за пределы буфера.
- Происходит повреждение памяти ядра, что может привести к краху системы или эскалации привилегий.
Есть ли публичный эксплойт
На момент публикации официальных данных, публично доступных рабочих эксплойтов (PoC) для CVE-2026-68452 не зафиксировано. Наличие технической документации и патчей в репозитории ядра подтверждает возможность эксплуатации. Отсутствие публичного кода не гарантирует отсутствие эксплуатации в закрытых средах или целевых атаках.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для данной уязвимости не опубликованы. Общие признаки, которые могут указывать на попытку эксплуатации:
- Необъяснимые падения ядра (Kernel Panic) с упоминанием модуля zcrypt или s390/crypto.
- Аномальная активность процессов, обращающихся к криптографическим устройствам
/dev/zcrypt*.
- Ошибки сегментации или повреждения памяти в логах ядра (dmesg) в контексте криптографических операций.
Эти признаки неспецифичны и могут быть вызваны другими причинами.
Как обнаружить атаку
Для выявления потенциальных атак рекомендуется мониторинг журналов ядра (
dmesg, /var/log/kern.log) на предмет ошибок в модуле zcrypt. Следует обращать внимание на сообщения об ошибках памяти, крахах ядра или некорректных запросах к криптографическим устройствам. Также полезно анализировать системные вызовы, связанные с доступом к /dev/zcrypt*, на предмет аномальных паттернов использования.Как проверить свою версию
Для проверки версии установленного ядра Linux используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Сравните полученную версию с списком уязвимых версий (начиная с 5.4). Если версия ядра ниже версии, содержащей исправление (патч
06afe425d5283b9764303de47f554da5a808ce8a и его порты), система уязвима.Исправление
Единственным эффективным способом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление. Исправление добавляет проверку длины токена ключа перед копированием:
C:
if (keytoklen > PARMBSIZE - sizeof(struct aureqparm))
return -EINVAL;
Обновите систему с помощью пакетного менеджера вашей дистрибуции (например,
apt, yum, zypper) до последней стабильной версии ядра, выпущенной после 29 июля 2026 года (дата авторства патча).Временные меры защиты
До применения обновления можно рассмотреть следующие временные меры:
- Ограничение доступа к криптографическим устройствам
/dev/zcrypt*только для доверенных приложений.
- Использование механизмов изоляции (например, контейнеров или виртуальных машин) для разделения процессов, работающих с криптографией.
- Отключение использования аппаратного ускорения CCA, если это допускается требованиями безопасности и производительности.
Эти меры не устраняют уязвимость, но могут снизить поверхность атаки.
Как проверить устранение уязвимости
После обновления ядра выполните команду
uname -r для подтверждения установки новой версии. Проверьте наличие патча в исходном коде ядра или в журнале изменений дистрибутива. Убедитесь, что система перезагружена с новым ядром. Проверьте логи на отсутствие ошибок zcrypt после обновления.Вывод
CVE-2026-68452 представляет собой серьезную угрозу для систем на архитектуре IBM Z, использующих подсистему zcrypt. Ошибка позволяет локальному пользователю с ограниченными правами нарушить целостность и доступность системы. Администраторам рекомендуется незамедлительно обновить ядро Linux до исправленной версии. Мониторинг журналов ядра поможет выявить попытки эксплуатации до применения патча.
Официальные источники
- NVD — CVE-2026-68452
- FIRST EPSS — CVE-2026-68452
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
- s390/zcrypt: Validate length for CCA AES cipher key requests - kernel/git/stable/linux.git - Linux kernel stable tree
История обновлений статьи
- 14.08.2026 — Опубликована первая версия материала.
- 21.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
