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 для проверки целостности загрузчика, если это поддерживается аппаратной платформой.
- Изоляция: Разместите критичные системы в сегментах сети с ограниченным доступом для предотвращения удаленной подмены загрузочных данных.
Как проверить устранение уязвимости
После установки обновления (когда оно будет выпущено) необходимо убедиться, что уязвимость устранена.
- Проверьте версию пакета:
dpkg-query -W -f='${Package} ${Version}\n' u-boot.
- Убедитесь, что версия соответствует или превышает номер, указанный в официальном уведомлении Debian Security.
- Перезагрузите систему и убедитесь, что загрузка проходит штатно, а поддержка ZFS (если она нужна) работает корректно.
- При наличии инструментов для анализа бинарного кода, проверьте, что патч действительно модифицирует логику обработки метаданных ZFS.
Вывод
CVE-2025-70290 представляет серьезную угрозу для систем, использующих U-Boot с поддержкой ZFS. Критический уровень опасности обусловлен возможностью выполнения кода на этапе загрузки.
Хотя публичный PoC существует, массовая эксплуатация пока не подтверждена. Администраторам Debian следует внимательно следить за статусом исправлений в Security Tracker.
До выхода официального патча рекомендуется принять временные меры по ограничению доступа к загрузочным носителям и отключению неиспользуемых файловых систем в загрузчике.
Официальные источники
История обновлений статьи
- 30.08.2026 — Опубликована первая версия материала.
- 02.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
