
Анализ и эксплойт для CVE-2026-25250, обход Secure Boot в Horizon DataSys Reboot Restore, где shdloader.efi загружает Shield.efi без проверки.
# ***🕷️ CVE-2026-25250: Некорректная проверка доверенной цепочки загрузчика***
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/49270/c1800e393c7138399beaa5917ae41f547967493ce48790e7c59d95dcff9f08cd.png"/>
</p>
<p align="center">
<i>
Сторонний загрузчик, подписанный Microsoft, который загружает вторичный EFI-бинарник без проверки подписи или целостности, разрушая цепочку доверия Secure Boot изнутри.
</i>
</p>
---
---
---
## ***📑 Содержание***
<ul>
<li><a href="#context">Контекст исследования</a></li>
<li><a href="#discovery">Официальные ссылки</a></li>
<li><a href="#reproduce">Воспроизведите самостоятельно</a></li>
<li><a href="#chain">Уязвимая цепочка загрузки</a></li>
<li><a href="#vulnerability">Обзор уязвимости</a>
<details>
<summary>📂</summary>
<ul>
<li><a href="#secureboot">Secure Boot и модель доверия</a></li>
<li><a href="#rootcause">Анализ первопричины</a></li>
<li><a href="#exploitation">Процесс эксплуатации</a></li>
<li><a href="#mitigation">Смягчение и отзыв</a></li>
</ul>
</details>
</li>
</ul>
---
---
---
<div id='context'/>
## ***🧠 Контекст исследования***
Этот репозиторий документирует исследование [CVE-2026-25250](https://nvd.nist.gov/vuln/detail/CVE-2026-25250), уязвимости обхода Secure Boot, раскрытой Microsoft и получившей CVE в апреле 2026 года. Она быстро выделилась как одна из наиболее значимых проблем безопасности прошивки года, именно потому, что уязвимый компонент подписан Microsoft и поэтому безусловно доверен подавляющим большинством UEFI-систем Windows.
Уязвимость была обнаружена [Микки Шкатовым](https://github.com/HackingThings) и Станиславом Ляховым из [Eclypsium](https://eclypsium.com), одной из ведущих исследовательских команд в области безопасности прошивки и цепочек поставок. Микки Шкатов — давняя фигура в области наступательных исследований UEFI, автор [BootHole](https://eclypsium.com/wp-content/uploads/Theres-a-Hole-in-the-Boot.pdf) (CVE-2020-10713, критический обход Secure Boot в GRUB2, затронувший практически все дистрибутивы Linux и конфигурации двойной загрузки Windows), а также докладчик на тему "[One Bootloader to Load Them All](https://www.youtube.com/watch?v=99t7wEYs8h0)" на DEF CON 30 вместе с Джесси Майклом — доклад, который систематически каталогизировал, как сторонние загрузчики, подписанные Microsoft, представляют собой уязвимость классового уровня в экосистеме Secure Boot.
CVE-2026-25250 попадает ровно в этот класс.
Что делает её особенно поучительной, так это её простота: никакого повреждения памяти, никакого криптографического изъяна в самой прошивке — просто доверенный бинарник, принимающий небезопасное решение о том, что загружать дальше. Одного слабого звена достаточно, чтобы разрушить всю модель Secure Boot для целевой системы.
---
---
---
<div id='discovery'/>
## ***📌 Официальные ссылки***
CVE-2026-25250 была обнаружена при анализе сторонних UEFI-компонентов загрузки, развёрнутых в корпоративных средах восстановления. Затронутым продуктом является решение Reboot Restore от [Horizon DataSys](https://www.horizondatasys.com/).
Уязвимость была присвоена MITRE, а не Microsoft, поскольку дефект находится в сторонней прошивке (shdloader.efi), а не в Windows или любом коде, созданном Microsoft.
Официальные ссылки:
- [**Центр реагирования Microsoft на угрозы безопасности — апрельский Patch Tuesday 2026**](https://msrc.microsoft.com/update-guide/)
> Ежемесячный бюллетень обновлений безопасности.
- [**MITRE CVE-2026-25250**](https://www.cve.org/CVERecord?id=CVE-2026-25250)
> Официальная запись CVE. CVSS 6.0 - AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N. CWE-325: Отсутствие требуемого криптографического шага.
- [**Техническое раскрытие Eclypsium**](https://eclypsium.com)
> Оригинальное раскрытие исследования от команды первооткрывателей, включая публикацию в LinkedIn, которая впервые привлекла внимание общественности к этой уязвимости.
---
---
---
<div id='reproduce'/>
## ***🔬 Воспроизведите самостоятельно***
Раскрытие Eclypsium, опубликованное в LinkedIn командой первооткрывателей, предоставляет достаточно контекста для идентификации затронутого программного обеспечения и его загрузки непосредственно с сайта вендора.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/49270/132b57668f83efa564c3f1be2053a74a9536e6e18ef683bbb91d0e5766abeb80.png" style="border: 2px solid black; border-radius: 6px;"/>
</p>
Установщик Horizon DataSys Reboot Restore доступен публично, и его установка на тестовой системе размещает как shdloader.efi, так и Shield.efi в системном разделе EFI, где их можно исследовать статически или наблюдать во время выполнения.
**Рекомендуемая лабораторная настройка:**
```
Windows 10/11 VM (QEMU или VMware)
├── Secure Boot: Включён
├── Horizon DataSys Reboot Restore: Установлен
├── ESP доступен через: mountvol X: /S
└── Цели:
HorizonDataSys
X:\EFI\shdloader.efi ← подписан, доверен, загружает следующий этап
X:\EFI\Shield.efi ← загружается без какой-либо проверки
```
После установки можно подтвердить, что shdloader.efi подписан Microsoft CA 2011, с помощью sigcheck.exe (Sysinternals) или pesign. Отсутствие каких-либо вызовов LoadImage / StartImage в пути загрузки Shield.efi сразу видно при статическом анализе.
---
---
---
<div id='chain'/>
## ***🐜 Уязвимая цепочка загрузки***
Эта уязвимость затрагивает многоэтапную цепочку загрузки, а не отдельный бинарник.
---
### ***🧨 Этап 1 — Доверенный загрузчик***
- **shdloader.efi**
- Цифровая подпись Microsoft UEFI CA 2011
- Безусловно доверен политикой прошивки Secure Boot
- Устанавливается в ESP программным обеспечением Horizon DataSys
---
### ***⚠️ Этап 2 — Непроверенная полезная нагрузка***
- **Shield.efi**
- Динамически загружается shdloader.efi во время загрузки
- ❌ Нет проверки подписи
- ❌ Нет проверки целостности
- ❌ Нет использования API UEFI LoadImage / StartImage
- ✅ Свободно заменяем любым локальным администратором
---
### ***📌 Ключевое наблюдение***
Уязвимость заключается не в прошивке. Она заключается в логике доверенного загрузчика — бинарника, который прошивка уже одобрила, — выбирающего загрузку вторичного бинарника через путь кода, который обходит все проверки безопасности.
```
Firmware
└── проверяет shdloader.efi ✅ Microsoft CA 2011, доверен
└── ManualPEParse(Shield.efi) ❌ нет LoadImage, нет проверки подписи
└── EntryPoint() 💥 код под контролем атакующего, до ОС
```
***Периметр Secure Boot настолько силён, насколько силён наименее осторожный бинарник, которому он доверяет.***
---
---
---
<div id='vulnerability'/>
## ***🧪 Обзор уязвимости***
CVE-2026-25250 — это обход Secure Boot, вызванный некорректной проверкой вторичного EFI-бинарника, загружаемого во время процесса загрузки. Затронутый загрузчик (shdloader.efi) подписан и доверен Secure Boot, но загружает Shield.efi через процедуру ручного разбора PE без какой-либо криптографической проверки.
Это отказ модели проектирования и доверия: доверенный компонент принимает небезопасное решение, которое сводит на нет все последующие защиты.
---
<div id='secureboot'/>
### ***🔐 Secure Boot и модель доверия***
Secure Boot обеспечивает цепочку доверия, в которой каждый компонент, выполняемый во время последовательности загрузки, должен быть проверен до передачи управления. Модель работает только в том случае, если каждый доверенный бинарник в цепочке соблюдает этот контракт:
```
Firmware → проверяет загрузчик → загрузчик выполняет только проверенный код
```
CVE-2026-25250 разрывает второе звено:
```
Firmware → проверяет shdloader.efi (✅ доверен)
↓
shdloader.efi → загружает Shield.efi (❌ не проверен)
↓
Произвольный неподписанный код выполняется до загрузки
```
Принудительное применение Secure Boot на уровне прошивки становится неактуальным, как только доверенный бинарник вводит непроверенный путь выполнения.
---
<div id='rootcause'/>
### ***🧬 Анализ первопричины***
Классифицировано как:
- **[CWE-325: Отсутствие требуемого криптографического шага](https://cwe.mitre.org/data/definitions/325.html)**
> Операция, чувствительная к безопасности, выполняется без требуемого шага криптографической проверки, что позволяет атакующему обойти защиту, которую обеспечил бы этот шаг.
| Шаг | Выполнен | Примечания |
|-----------------------------------|----|----------------------------|
| Найти Shield.efi на ESP | ✅ | Стандартный доступ к файловой системе |
| Прочитать файл в память | ✅ | - |
| Вручную разобрать PE-заголовки | ✅ | Пользовательская реализация |
| Проверить подпись | ❌ | Не выполнено |
| Проверить по db / dbx | ❌ | Не выполнено |
| Вызвать LoadImage / StartImage | ❌ | Полностью обойдено |
| Передать выполнение точке входа | ✅ | Прямой вызов |
Отсутствие LoadImage / StartImage является первопричиной. Эти UEFI Boot Services являются точкой интеграции для принудительного применения политики Secure Boot; их обход означает обход всего.
---
<div id='exploitation'/>
### ***💥 Процесс эксплуатации***
Эксплуатация требует локального доступа администратора и одной перезагрузки.
1. Смонтировать системный раздел EFI
2. Заменить Shield.efi произвольным неподписанным EFI-бинарником
3. Перезагрузиться
При следующей загрузке shdloader.efi выполняется (доверен прошивкой), загружает бинарник под контролем атакующего и передаёт выполнение — до ОС, до EDR, до применения любой политики измеренной загрузки, без каких-либо возражений со стороны Secure Boot.
Позволяет:
- Постоянные UEFI-буткиты, переживающие переустановку ОС и полное стирание дисков.
- Импланты на ранних этапах, невидимые для любых инструментов безопасности уровня ОС.
- Полное обход защит режима ядра (EDR, PatchGuard, VBS/HVCI).
---
---
---
<div id='resources'/>
## ***📚 Ресурсы***
- **[Eclypsium — Раскрытие CVE-2026-25250](https://eclypsium.com)**
> Оригинальное исследование Микки Шкатова и Станислава Ляхова. Публикация Eclypsium в LinkedIn, объявляющая об обнаружении, ссылается на программное обеспечение Horizon DataSys, что позволяет провести независимый анализ.
- **[Microsoft MSRC — апрельский Patch Tuesday 2026](https://msrc.microsoft.com/update-guide/)**
> Бюллетень безопасности Microsoft.
- **[MITRE CVE-2026-25250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-25250)**
> Официальная запись CVE. Присвоена MITRE, поскольку уязвимость находится в сторонней прошивке, а не в коде Microsoft.
- **[Eclypsium — BootHole (CVE-2020-10713)](https://eclypsium.com/research/there-s-a-hole-in-the-boot/)**
> Микки Шкатов и Джесси Майкл — критический обход Secure Boot в GRUB2, затрагивающий практически все дистрибутивы Linux и системы с двойной загрузкой Windows.
- **[DEF CON 30 — "One Bootloader to Load Them All"](https://www.defcon.org/html/defcon-30/dc-30-speakers.html)**
> Микки Шкатов и Джесси Майкл — систематический анализ сторонних загрузчиков, подписанных Microsoft, как поверхности атаки классового уровня для Secure Boot. CVE-2026-25250 — прямой пример этой модели угроз.
- **[CWE-325: Отсутствие требуемого криптографического шага](https://cwe.mitre.org/data/definitions/325.html)**
> Классификация первопричины отсутствия проверки в пути загрузки `shdloader.efi`.
- **[Спецификация UEFI — Boot Services: LoadImage / StartImage](https://uefi.org/specs/UEFI/2.10/)**
> UEFI Boot Services, обеспечивающие применение политики Secure Boot — полностью обойдены ручным PE-загрузчиком `shdloader.efi`.
---
---
---
## ***🤝 Исследования и сотрудничество***
Работаете над чем-то похожим? Исследуете UEFI, безопасность ядра, эксплуатацию или другую интересную тему безопасности? Если вам нужна помощь в разработке эксплойта, изучении техники или вы просто хотите обменяться идеями, не стесняйтесь обращаться. Я всегда открыт для обсуждения исследований, готов помочь, где могу, и сотрудничать над интересными проектами. Свяжитесь со мной в [LinkedIn](https://www.linkedin.com/in/vazquez-vazquez-alejandro/).