CVE-2025-70290 в Debian: переполнение в U-Boot, уязвимые версии и защита

CVE: CVE-2025-70290
Продукт: Debian
Дата публикации: 26.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,46%; процентиль 38,03%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


В загрузчике U-Boot, поставляемом в дистрибутивах Debian, обнаружена критическая уязвимость, позволяющая злоумышленнику выполнить код на этапе загрузки системы. Ошибка возникает при обработке повреждённых метаданных файловой системы ZFS. В настоящее время исправление для всех версий Debian не выпущено, что требует от администраторов оценки рисков и применения временных мер защиты.

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


Риск представляет собой возможность выполнения произвольного кода на этапе загрузки системы (boot-time) при обработке специально сформированного носителя с файловой системой ZFS. Это может привести к полной компрометации устройства до загрузки операционной системы.

  • Тип ошибки: Переполнение целочисленного значения (CWE-190) и запись за границами буфера (CWE-787).
  • 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.
  • Условия атаки: Удалённый доступ (AV:N), низкая сложность (AC:L), отсутствие необходимости в правах (PR:N) и взаимодействии пользователя (UI:N).
  • Эксплуатация: Подтверждённая эксплуатация в реальных атаках не зафиксирована.
  • EPSS: 0,46% (процентиль 38,03%).

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


Уязвимость затрагивает пакет u-boot во всех поддерживаемых и нестабильных версиях дистрибутива Debian. Согласно данным Debian Security Tracker, статус уязвимости для всех перечисленных релизов является «open» (открыт), а срочность исправления не назначена.

  • Debian 12 (bookworm): версия пакета 2023.01+dfsg-2+deb12u3.
  • Debian 11 (bullseye): версии пакетов 2021.01+dfsg-5 и 2021.01+dfsg-5+deb11u3.
  • Debian 13 (trixie): версия пакета 2025.01-3.
  • Debian unstable (sid): версия пакета 2025.01-3.2.
  • Debian forky: версия пакета 2025.01-3.2.

Все перечисленные версии содержат уязвимый код, так как исправление в релизе U-Boot 2026.04 ещё не портировано в дистрибутив.

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


Причина уязвимости кроется в недостаточной валидации метаданных файловой системы ZFS в коде загрузчика U-Boot. При чтении информации с диска программа рассчитывает размер выделяемой памяти на основе значений, полученных из метаданных.

Если злоумышленник сформировал носитель с некорректными (malformed) метаданными, может произойти переполнение целочисленного значения. В результате система выделит блок памяти меньшего размера, чем требуется для последующей записи данных. Это приводит к записи за границами выделенного буфера (out-of-bounds memory access), что нарушает целостность памяти и может вызвать сбой или выполнение произвольного кода.

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


Атака реализуется на этапе инициализации системы, когда U-Boot пытается смонтировать или прочитать файловую систему ZFS. Злоумышленник должен иметь возможность предоставить системе носитель (флеш-накопитель, SD-карта или удалённый образ) с специально подготовленными метаданными ZFS.

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

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

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


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

  • Контроль за носителем: Злоумышленник должен иметь возможность загрузить систему с носителя, содержащего сформированные метаданные ZFS (например, через USB-порт или сетевую загрузку).
  • Включение поддержки ZFS: В конфигурации U-Boot должна быть активирована поддержка файловой системы ZFS.
  • Отсутствие защиты на этапе загрузки: Система не должна иметь механизмов, предотвращающих чтение повреждённых метаданных до их обработки уязвимым кодом.

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


Сценарий атаки предполагает, что злоумышленник получает физический или логический доступ к устройству, использующему U-Boot. Он создаёт образ носителя с файловой системой ZFS, в котором значения в метаданных специально искажены для вызова переполнения.

Пользователь или автоматический процесс инициализирует загрузку с этого носителя. U-Boot начинает чтение метаданных и попадает в уязвимый код.

Происходит некорректное выделение памяти и последующая запись за её пределами. В результате атакующий получает выполнение кода на этапе загрузки, что позволяет ему перехватить управление системой до загрузки ядра Linux.

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


В открытом доступе существует техническое описание уязвимости и ссылка на gist, содержащий детали проблемы. Однако подтверждённая массовая эксплуатация в реальных атаках (active exploitation) в каталоге CISA KEV не зафиксирована.

Наличие технического описания означает, что атакующие могут самостоятельно разработать эксплойт на основе опубликованных данных. Отсутствие сведений о реальной эксплуатации не гарантирует, что уязвимость не используется в целевых атаках.

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


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

Общие (неспецифичные) точки контроля включают:

  • Анализ логов U-Boot (если они сохраняются) на предмет аномальных сбоев или сообщений об ошибках при монтировании ZFS.
  • Проверка целостности загрузчика (U-Boot) на предмет модификации.
  • Мониторинг попыток загрузки с внешних носителей на критических системах.

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


Обнаружение атаки затруднено из-за её положения на этапе загрузки. Рекомендуется внедрять механизмы контроля целостности загрузчика (Secure Boot) и использовать аппаратные средства защиты, если они доступны.

Для мониторинга следует:

  • Настроить сбор логов U-Boot в отдельное хранилище.
  • Использовать системы обнаружения вторжений (IDS), способные анализировать сетевой трафик при сетевой загрузке (PXE).
  • Регулярно проверять целостность загрузочных секторов и загрузчика.

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


Для проверки текущей версии пакета u-boot в системе Debian используйте следующие команды. Замените <имя-пакета> на u-boot.

Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy u-boot
dpkg-query -W -f='${Package} ${Version}\n' u-boot

Сравните полученную версию с уязвимыми версиями, перечисленными в разделе «Какие продукты и версии затронуты».

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


На момент подготовки материала официальное исправление для пакета u-boot в дистрибутивах Debian не выпущено. Статус во всех релизах (bookworm, bullseye, trixie, sid, forky) остаётся «open».

Рекомендуемые действия:

  • Отслеживать обновления в Debian Security Tracker.
  • При выходе патча немедленно применить его.
  • Для систем, где загрузка с ZFS не требуется, рассмотреть возможность отключения поддержки ZFS в конфигурации U-Boot (если это позволяет конфигурация).
  • Ограничить физический и сетевой доступ к устройствам, использующим U-Boot, до выхода исправления.

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


Пока исправление не выпущено, можно применить следующие временные меры:

  • Ограничение загрузки: Запретить загрузку с внешних носителей (USB, SD) в BIOS/UEFI или в конфигурации U-Boot.
  • Сетевая изоляция: Ограничить доступ к портам, используемым для сетевой загрузки (PXE), если это применимо.
  • Отключение ZFS: Если функциональность ZFS не критична, отключить поддержку этой файловой системы в U-Boot.
  • Физическая защита: Ограничить физический доступ к портам устройств, чтобы предотвратить подключение вредоносных носителей.

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


После применения исправления (когда оно будет выпущено) необходимо проверить, что версия пакета соответствует исправленной.

Bash:
dpkg-query -W -f='${Package} ${Version}\n' u-boot

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

Вывод​


CVE-2025-70290 представляет собой критический риск для систем, использующих U-Boot с поддержкой ZFS. Отсутствие исправления в Debian на текущий момент требует от администраторов повышенного внимания. Применение временных мер защиты и мониторинг обновлений являются ключевыми шагами для снижения риска компрометации на этапе загрузки.

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


  1. NVD — CVE-2025-70290
  2. Debian Security Tracker — CVE-2025-70290
  3. FIRST EPSS — CVE-2025-70290

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


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