Ve frameworku InsydeH2O, který používá mnoho výrobců k vytváření UEFI firmwaru pro svou techniku (nejčastější realizace UEFI BIOS), byly nalezeny 23 zranitelnosti, které umožňují vykonávání kódu na úrovni SMM (System Management Mode), která má vyšší prioritu (Ring -2) než hypervizor a nulový ochranný kroužek, a tedy má neomezený přístup k celé paměti. Tento problém se týká UEFI firmware používaného výrobci jako Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel a Bull Atos.
K využití těchto zranitelností je zapotřebí místní přístup s právy administrátora, což činí tyto problémy atraktivními jako druhotné zranitelnosti, které se využívají po exploataci jiných zranitelností v systému nebo využitím metod sociálního inženýrství. Přístup na úrovni SMM umožňuje vykonávat kód na úrovni, která není pod kontrolou operačního systému, což může být využito k modifikaci firmwaru a zanechání skrytého malwaru nebo rootkitů v SPI Flash, které nejsou detekovatelné operačním systémem, a také k deaktivaci verifikace během spouštění (UEFI Secure Boot, Intel BootGuard) a útokům na hypervizory za účelem obcházení mechanismů pro ověřování integrity virtuálních prostředí.

Exploataci zranitelností lze provést z operačního systému pomocí neověřených SMI zpracovatelů (System Management Interrupt), stejně jako v době před spuštěním operačního systému během počátečních fází spouštění nebo návratu ze spánkového režimu. Všechny zranitelnosti jsou způsobeny problémy s pamětí a jsou rozděleny do tří kategorií:
- SMM Callout - vykonání vlastního kódu s právy SMM přesměrováním vykonávání zpracovatelů přerušení SWSMI na kód mimo SMRAM;
- Poškození paměti, které umožňuje útočníkovi zapsat svá data do SMRAM, speciální izolované oblasti paměti, ve které se vykonává kód s právy SMM.
- Poškození paměti v kódu, který se vykonává na úrovni DXE (Driver eXecution Environment).
Pro demonstraci principů organizace útoku byl publikován příklad exploit, který umožňuje získat přístup k DXE Runtime UEFI a vykonat svůj kód prostřednictvím útoku z třetího nebo nulového ochranného kruhu. Exploit manipuluje s přetečením zásobníku (CVE-2021-42059) v ovladači UEFI DXE. Během útoku může útočník vložit svůj kód do DXE ovladače, který si uchová aktivitu po restartu operačního systému, nebo provést změny v oblasti NVRAM v SPI Flash. Během provádění může útočníkův kód měnit privilegované oblasti paměti, modifikovat služby EFI Runtime a ovlivnit proces bootování.
Zdroj: opennet.ru
