Sårbarheter i GRUB2 som gör att du kan kringgå UEFI Secure Boot

2 sårbarheter har åtgärdats i GRUB7 bootloader som låter dig kringgå UEFI Secure Boot-mekanismen och köra overifierad kod, till exempel implementera skadlig programvara som körs på bootloader- eller kärnnivå. Dessutom finns det en sårbarhet i shim-lagret, som också låter dig kringgå UEFI Secure Boot. Gruppen av sårbarheter fick kodnamnet Boothole 3, liknande liknande problem som tidigare identifierats i bootloadern.

För att felsöka problem i GRUB2 och shim kommer distributioner att kunna använda SBAT-mekanismen (UEFI Secure Boot Advanced Targeting), som stöds för GRUB2, shim och fwupd. SBAT utvecklades tillsammans med Microsoft och går ut på att lägga till ytterligare metadata till de körbara filerna för UEFI-komponenter, vilket inkluderar information om tillverkare, produkt, komponent och version. Den angivna metadatan är certifierad med en digital signatur och kan inkluderas separat i listorna över tillåtna eller förbjudna komponenter för UEFI Secure Boot.

De flesta Linux-distributioner använder ett litet shim-lager digitalt signerat av Microsoft för verifierad uppstart i UEFI Secure Boot-läge. Detta lager verifierar GRUB2 med sitt eget certifikat, vilket tillåter distributionsutvecklare att inte ha varje kärna och GRUB-uppdatering certifierad av Microsoft. Sårbarheter i GRUB2 gör att du kan uppnå exekvering av din kod i skedet efter framgångsrik shim-verifiering, men innan du laddar operativsystemet, kilar in i förtroendekedjan när Secure Boot-läget är aktivt och får full kontroll över den fortsatta uppstartsprocessen, inklusive laddar ett annat operativsystem, ändrar operativsystemets komponenter och kringgår Lockdown-skyddet.

För att åtgärda problem i bootloadern måste distributioner skapa nya interna digitala signaturer och uppdatera installationsprogram, bootloaders, kärnpaket, fwupd firmware och shim-lager. Före introduktionen av SBAT var uppdatering av certifikatspärrlistan (dbx, UEFI Revocation List) en förutsättning för att helt blockera sårbarheten, eftersom en angripare, oavsett vilket operativsystem som används, kunde använda startbara media med en gammal sårbar version av GRUB2, certifierad av en digital signatur för att äventyra UEFI Secure Boot .

Istället för att återkalla en signatur tillåter SBAT dig att blockera dess användning för individuella komponentversionsnummer utan att behöva återkalla nycklarna för säker start. Blockering av sårbarheter via SBAT kräver inte användning av en UEFI-certifikatåterkallelselista (dbx), utan utförs på nivån att ersätta den interna nyckeln för att generera signaturer och uppdatera GRUB2, shim och andra startartefakter som tillhandahålls av distributioner. För närvarande har SBAT-stöd redan lagts till i de flesta populära Linux-distributioner.

Identifierade sårbarheter:

  • CVE-2021-3696, CVE-2021-3695 är heapbaserade buffertspill vid bearbetning av specialdesignade PNG-bilder, som teoretiskt kan användas för att exekvera angriparkod och kringgå UEFI Secure Boot. Det noteras att problemet är svårt att utnyttja, eftersom att skapa en fungerande exploit kräver att man tar hänsyn till ett stort antal faktorer och tillgången på information om minneslayouten.
  • CVE-2021-3697 - Ett buffertunderflöde i JPEG-bildbehandlingskoden. Att utnyttja problemet kräver kunskap om minneslayouten och är på ungefär samma komplexitetsnivå som PNG-frågan (CVSS 7.5).
  • CVE-2022-28733 - Ett heltalsspill i funktionen grub_net_recv_ip4_packets() gör att parametern rsm->total_len kan påverkas genom att skicka ett speciellt utformat IP-paket. Problemet är markerat som det farligaste av de sårbarheter som presenteras (CVSS 8.1). Om den utnyttjas framgångsrikt tillåter sårbarheten att data skrivs bortom buffertgränsen genom att tilldela en avsiktligt mindre minnesstorlek.
  • CVE-2022-28734 - En-byte buffertspill vid bearbetning av avskalade HTTP-rubriker. Ett problem kan orsaka GRUB2-metadatakorruption (att skriva en nollbyte precis efter slutet av bufferten) vid analys av specialgjorda HTTP-förfrågningar.
  • CVE-2022-28735 Ett problem i shim_lock-verifieraren tillåter inläsning av filer som inte är kärnor. Sårbarheten kan användas för att ladda osignerade kärnmoduler eller overifierad kod i UEFI Secure Boot-läge.
  • CVE-2022-28736 En redan frigjord minnesåtkomst i funktionen grub_cmd_chainloader() via en omkörning av chainloader-kommandot, som används för att starta operativsystem som inte stöds av GRUB2. Exploatering kan resultera i exekvering av angriparkod om angriparen kan fastställa minnesallokering i GRUB2
  • CVE-2022-28737 - Ett buffertspill i shim-lagret inträffar i handle_image()-funktionen vid laddning och exekvering av skapade EFI-bilder.

Källa: opennet.ru

Lägg en kommentar