CVE-2025-70290 в Debian: критическая уязвимость в U-Boot (ZFS)

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

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


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

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


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

  • Тип ошибки: CWE-190 (Integer Overflow) и CWE-787 (Out-of-bounds Write). Сбой возникает при обработке метаданных ZFS.
  • CVSS: 9.8 (CRITICAL). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Высокая оценка отражает возможность удаленного воздействия без аутентификации.
  • Условия атаки: Требуется физический или логический доступ к загрузочному носителю для записи вредоносных данных в раздел ZFS.
  • Факт эксплуатации: В каталоге CISA KEV уязвимость не числится. Публичный PoC доступен, но подтвержденная эксплуатация в реальных атаках не зафиксирована.
  • EPSS: 0,46% (процентиль 38,18%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая, что соответствует статусу «Received» в NVD.

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


Уязвимость затрагивает пакет u-boot в нескольких ветках дистрибутива Debian. На момент подготовки материала исправление в репозиториях не опубликовано, статус всех релизов — «open».

  • bookworm: Версия 2023.01+dfsg-2+deb12u3 в репозиториях bookworm и bookworm-security.
  • trixie: Версия 2025.01-3 в репозитории trixie.
  • forky: Версия 2025.01-3.2 в репозитории forky.
  • sid (unstable): Версия 2025.01-3.2 в репозитории sid.

Все перечисленные сборки содержат код, уязвимый к переполнению целочисленного значения в модуле ZFS. Официальный трекер Debian подтверждает, что приоритет исправления еще не назначен (urgency: not yet assigned).

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


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

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

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


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

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

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


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

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

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


Сценарий предполагает компрометацию системы на этапе «до загрузки ОС». Злоумышленник получает доступ к серверу или рабочей станции и модифицирует загрузочный раздел, создавая на нем том ZFS с вредоносными метаданными.

При следующей перезагрузке U-Boot обращается к этому тому. Срабатывает переполнение, и атакующий код выполняется до инициализации ядра Linux. Это позволяет установить бэкдор, который будет активен при каждом запуске системы, минуя механизмы безопасности самой ОС.

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


В реестре CVE указана ссылка на публичный PoC, размещенный в виде gist-файла. Документ содержит техническое описание дефекта и, вероятно, код для демонстрации срабатывания уязвимости.

Наличие PoC подтверждает техническую реализуемость атаки, однако в каталоге CISA KEV CVE-2025-70290 не числится. Это означает, что подтвержденных фактов массового использования уязвимости в реальных атаках на инфраструктуру организаций на данный момент не зафиксировано.

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


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

  • Неспецифичные признаки: Необъяснимые изменения в загрузочных записях (MBR/EFI), появление новых разделов или аномальная активность при инициализации системы.
  • Аппаратные логи: Проверка журналов BIOS/UEFI на предмет ошибок при чтении дисковых структур.

Для точной диагностики требуется анализ бинарного кода загрузчика и метаданных ZFS на уровне низкоуровневых инструментов.

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


Обнаружение атаки затруднено из-за раннего этапа эксплуатации. Основные меры контроля связаны с мониторингом целостности загрузочных носителей.

  • Контроль целостности: Регулярная сверка контрольных сумм загрузочных секторов и метаданных ZFS с эталонными значениями.
  • Аудит доступа: Мониторинг журналов доступа к физическим дискам и удаленным хранилищам, используемым для загрузки.
  • Анализ конфигурации U-Boot: Проверка, включена ли поддержка ZFS в загрузчике. Если функция не используется, риск снижается.

Специализированные сигнатуры для SIEM-систем для данного CVE пока не разработаны.

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


Для проверки текущей версии пакета 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

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

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


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

  • Ожидание патча: Рекомендуется отслеживать обновления в Debian Security Tracker.
  • Мониторинг: Подписывайтесь на рассылки безопасности Debian для получения уведомлений о выходе исправлений.
  • Альтернативные источники: Если критично, рассмотрите возможность использования сборок U-Boot из независимых источников, где исправление уже применено, но это требует тщательной проверки совместимости.

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


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

  • Отключение ZFS в U-Boot: Если файловая система ZFS не используется для загрузки, отключите поддержку ZFS в конфигурации загрузчика при его пересборке.
  • Физическая защита: Ограничьте физический доступ к серверам и рабочим станциям, особенно к портам, позволяющим подключать внешние загрузочные носители.
  • Загрузка с защищенных носителей: Используйте механизмы Secure Boot и TPM для проверки целостности загрузчика, если это поддерживается аппаратной платформой.
  • Изоляция: Разместите критичные системы в сегментах сети с ограниченным доступом для предотвращения удаленной подмены загрузочных данных.

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


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

  1. Проверьте версию пакета: dpkg-query -W -f='${Package} ${Version}\n' u-boot.
  2. Убедитесь, что версия соответствует или превышает номер, указанный в официальном уведомлении Debian Security.
  3. Перезагрузите систему и убедитесь, что загрузка проходит штатно, а поддержка ZFS (если она нужна) работает корректно.
  4. При наличии инструментов для анализа бинарного кода, проверьте, что патч действительно модифицирует логику обработки метаданных ZFS.

Вывод​


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

Хотя публичный PoC существует, массовая эксплуатация пока не подтверждена. Администраторам Debian следует внимательно следить за статусом исправлений в Security Tracker.

До выхода официального патча рекомендуется принять временные меры по ограничению доступа к загрузочным носителям и отключению неиспользуемых файловых систем в загрузчике.

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


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

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


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