V UEFI firmwarích založených na otevřené platformě TianoCore EDK2, běžně používaných na serverových systémech, bylo identifikováno 9 zranitelností, které získaly souhrnné kódové jméno PixieFAIL. Zranitelnosti se nacházejí v síťovém zásobníku firmware, který se používá pro síťové bootování (PXE). Nejzávažnější zranitelnosti umožňují neautentizovanému útočníkovi provést vzdálené spuštění svého kódu na úrovni firmwaru v systémech, které povolují PXE bootování pomocí sítě IPv6.
Méně závažné problémy vedou k odmítnutí služby (blokování bootování), úniku informací, znečištění DNS cache a zachycení TCP relací. Většina zranitelností může být exploatována z lokální sítě, ale některé zranitelnosti umožňují i útok z externí sítě. Typický scénář útoku spočívá v monitorování provozu v lokální síti a odesílání speciálně formátovaných paketů při zjištění aktivity související s bootováním systému přes PXE. Přístup k serveru bootování nebo DHCP serveru není vyžadován. Pro demonstraci techniky útoku byly publikovány prototypy exploitů.
UEFI firmwary založené na platformě TianoCore EDK2 jsou používány ve mnoha velkých společnostech, cloudových poskytovatelích, datacentrech a výpočetních clusterech. Konkrétně, zranitelný modul NetworkPkg s implementací PXE bootování se používá ve firmwaru vyvíjeném společnostmi ARM, Insyde Software (Insyde H20 UEFI BIOS), American Megatrends (AMI Aptio OpenEdition), Phoenix Technologies (SecureCore), Intel, Dell a Microsoft (Project Mu). Předpokládalo se, že zranitelnosti se také dotýkají platformy ChromeOS, v jejímž repozitáři se nachází balíček EDK2, ale společnost Google prohlásila, že tento balíček není používán ve firmwaru pro zařízení Chromebook a platforma ChromeOS není touto problematikou postižena.
Zjištěné zranitelnosti:
- CVE-2023-45230 — přetečení zásobníku v kódu DHCPv6 klienta, které je exploatováno prostřednictvím přenosu příliš dlouhého identifikátoru serveru (volba Server ID).
- CVE-2023-45234 — přetečení zásobníku při zpracování volby s parametry DNS serveru, které jsou přenášeny v zprávě oznamující přítomnost serveru DHCPv6.
- CVE-2023-45235 — přetečení zásobníku při zpracování volby s identifikátorem serveru (Server ID) v zprávách s oznámeními proxy serveru pro DHCPv6.
- CVE-2023-45229 — celá čísla přetečení přes dolní mez (underflow), projevující se při zpracování voleb IA_NA/IA_TA v zprávách DHCPv6, které oznamují DHCP server.
- CVE-2023-45231 — únik dat z oblasti mimo vyrovnávací paměť při zpracování zpráv ND Redirect (Neighbor Discovery) s oříznutými hodnotami možností.
- CVE-2023-45232 — nekonečné cyklení při analýze neznámých možností v hlavičce se parametry cílového umístění (Destination Options).
- CVE-2023-45233 — nekonečné cyklení při analýze možnosti PadN v hlavičce paketu.
- CVE-2023-45236 — využívání předvídatelných počátečních čísel sekvence TCP, které umožňují vměšování do TCP spojení.
- CVE-2023-45237 — používání nespolehlivého generátoru pseudo-náhodných čísel, který generuje předvídatelné hodnoty.
Informace o zranitelnostech byly zaslány do CERT/CC 3. srpna 2023, a datum zveřejnění bylo plánováno na 2. listopadu. Nicméně, kvůli potřebě koordinovaného vydání oprav, pokrývajícího mnoho výrobců, bylo datum zveřejnění přeplánováno nejprve na 1. prosince, poté na 12. prosince a 19. prosince 2023, ale nakonec bylo odhaleno 16. ledna 2024. Přičemž společnost Microsoft požádala o odložení zveřejnění informací až do května.
Zdroj: opennet.ru
