Sårbarheder i GRUB2, der kan omgå UEFI Secure Boot

2 sårbarheder er blevet rettet i GRUB7-bootloaderen, der giver dig mulighed for at omgå UEFI Secure Boot-mekanismen og køre uverificeret kode, for eksempel introducere malware, der kører på bootloader- eller kerneniveau. Derudover er der en sårbarhed i shim-laget, som også giver dig mulighed for at omgå UEFI Secure Boot. Gruppen af ​​sårbarheder fik kodenavnet Boothole 3, svarende til lignende problemer, der tidligere blev identificeret i bootloaderen.

For at fejlfinde problemer i GRUB2 og shim, vil distributioner være i stand til at bruge SBAT (UEFI Secure Boot Advanced Targeting) mekanismen, som er understøttet for GRUB2, shim og fwupd. SBAT er udviklet i fællesskab med Microsoft og involverer tilføjelse af yderligere metadata til de eksekverbare filer af UEFI-komponenter, som omfatter oplysninger om producent, produkt, komponent og version. De angivne metadata er certificeret med en digital signatur og kan inkluderes separat på listerne over tilladte eller forbudte komponenter til UEFI Secure Boot.

De fleste Linux-distributioner bruger et lille shim-lag digitalt signeret af Microsoft til verificeret opstart i UEFI Secure Boot-tilstand. Dette lag verificerer GRUB2 med sit eget certifikat, som gør det muligt for distributionsudviklere ikke at få alle kerne- og GRUB-opdateringer certificeret af Microsoft. Sårbarheder i GRUB2 giver dig mulighed for at opnå eksekvering af din kode på stadiet efter vellykket shim-verifikation, men før du indlæser operativsystemet, kiler ind i tillidskæden, når Secure Boot-tilstanden er aktiv og får fuld kontrol over den videre opstartsproces, inkl. indlæsning af et andet OS, ændring af operativsystemets komponenter system og omgå Lockdown-beskyttelse.

For at løse problemer i bootloaderen skal distributioner oprette nye interne digitale signaturer og opdatere installationsprogrammer, bootloadere, kernepakker, fwupd-firmware og shim-lag. Før introduktionen af ​​SBAT var opdatering af certifikattilbagekaldelseslisten (dbx, UEFI Revocation List) en forudsætning for fuldstændig at blokere sårbarheden, da en angriber, uanset hvilket operativsystem der bruges, kunne bruge opstartsmedier med en gammel sårbar version af GRUB2, certificeret af en digital signatur for at kompromittere UEFI Secure Boot .

I stedet for at tilbagekalde en signatur giver SBAT dig mulighed for at blokere dens brug for individuelle komponentversionsnumre uden at skulle tilbagekalde nøglerne til sikker opstart. Blokering af sårbarheder via SBAT kræver ikke brug af en UEFI-certifikattilbagekaldelsesliste (dbx), men udføres på niveau med at erstatte den interne nøgle for at generere signaturer og opdatere GRUB2, shim og andre boot-artefakter leveret af distributioner. I øjeblikket er SBAT-understøttelse allerede blevet tilføjet til de fleste populære Linux-distributioner.

Identificerede sårbarheder:

  • CVE-2021-3696, CVE-2021-3695 er heap-baserede bufferoverløb ved behandling af specialdesignede PNG-billeder, som teoretisk kan bruges til at udføre angriberkode og omgå UEFI Secure Boot. Det bemærkes, at problemet er svært at udnytte, da oprettelse af en fungerende udnyttelse kræver, at der tages højde for et stort antal faktorer og tilgængeligheden af ​​information om hukommelseslayoutet.
  • CVE-2021-3697 - Et bufferunderløb i JPEG-billedbehandlingskoden. Udnyttelse af problemet kræver viden om hukommelseslayoutet og er på omtrent samme kompleksitetsniveau som PNG-problemet (CVSS 7.5).
  • CVE-2022-28733 - Et heltalsoverløb i funktionen grub_net_recv_ip4_packets() gør det muligt at påvirke parameteren rsm->total_len ved at sende en specielt udformet IP-pakke. Problemet er markeret som det farligste af de præsenterede sårbarheder (CVSS 8.1). Hvis det lykkes, gør sårbarheden det muligt at skrive data ud over buffergrænsen ved at allokere en bevidst mindre hukommelsesstørrelse.
  • CVE-2022-28734 - Single-byte bufferoverløb ved behandling af strippede HTTP-headere. Et problem kan forårsage korruption af GRUB2-metadata (skrivning af en null-byte lige efter slutningen af ​​bufferen) ved parsing af specielt udformede HTTP-anmodninger.
  • CVE-2022-28735 Et problem i shim_lock-verifieren tillader indlæsning af ikke-kernefil. Sårbarheden kan bruges til at indlæse usignerede kernemoduler eller uverificeret kode i UEFI Secure Boot-tilstand.
  • CVE-2022-28736 En allerede frigivet hukommelsesadgang i funktionen grub_cmd_chainloader() via en genkørsel af chainloader-kommandoen, brugt til at starte operativsystemer, der ikke understøttes af GRUB2. Udnyttelse kan resultere i udførelse af angriberkode, hvis angriberen er i stand til at bestemme hukommelsesallokering i GRUB2
  • CVE-2022-28737 - Et bufferoverløb i shim-laget forekommer i handle_image()-funktionen, når der indlæses og udføres udformede EFI-billeder.

Kilde: opennet.ru

Tilføj en kommentar