nylig Nyheten ble sluppet om at 7 sårbarheter er rettet inn oppstartslasteren GRUB2 som lar UEFI Secure Boot-mekanismen omgås og tillater uverifisert kodekjøring, for eksempel ved å injisere skadelig programvare som fungerer på oppstartslaster- eller kjernenivå.
Videre det er en sårbarhet i shim-laget, som også gjør at UEFI Secure Boot kan omgås. Gruppen av sårbarheter fikk kodenavnet Boothole 3, lik lignende problemer som tidligere ble identifisert i oppstartslasteren.
De angitte metadataene er digitalt signert og kan inkluderes separat i listene over tillatte eller forbudte komponenter for UEFI Secure Boot.
De fleste Linux-distribusjoner bruker et lite oppdateringslag, digitalt signert av Microsoft, for bekreftet oppstart i UEFI Secure Boot-modus. Dette laget verifiserer GRUB2 med sitt eget sertifikat, som lar distribusjonsutviklere ikke sertifisere hver kjerne og GRUB-oppdatering med Microsoft.
Sårbarheter i GRUB2 tillater kjøring av kode etter bekreftelse vellykket shim, men før du laster operativsystemet, gå inn i tillitskjeden med sikker oppstartsmodus aktiv og få full kontroll over den påfølgende oppstartsprosessen, inkludert oppstart av et annet operativsystem, modifisering av systemkomponentene i operativsystemet og omgå låsebeskyttelse.
I stedet for å trekke tilbake signaturen, SBAT tillater blokkering av bruken for individuelle komponentversjonsnumre ikke nødvendig å tilbakekalle nøkler for sikker oppstart. Blokkering av sårbarheter via SBAT krever ikke bruk av en UEFI CRL (dbx), men gjøres på det interne nøkkelerstatningsnivået for å generere signaturer og oppdatere GRUB2, shim og andre distribusjonsleverte oppstartsartefakter. SBAT-støtte er nå lagt til de fleste populære Linux-distribusjoner.
Las identifiserte sårbarheter er som følger:
- CVE-2021-3696, CVE-2021-3695- Heapbuffer renner over ved behandling av spesiallagde PNG-bilder, som i teorien kan brukes til å iscenesette kjøring av angrepskode og omgå UEFI Secure Boot. Det bemerkes at problemet er vanskelig å utnytte, ettersom å lage en fungerende utnyttelse krever at man tar hensyn til et stort antall faktorer og tilgjengeligheten av minnelayoutinformasjon.
- CVE-2021-3697: bufferunderflyt i JPEG-bildebehandlingskode. Å utnytte problemet krever kunnskap om minneoppsett og er omtrent på samme kompleksitetsnivå som PNG-problemet (CVSS 7.5).
- CVE-2022-28733: Et heltallsoverløp i grub_net_recv_ip4_packets()-funksjonen som lar deg påvirke parameteren rsm->total_len ved å sende en spesiallaget IP-pakke. Problemet er merket som det farligste av de innsendte sårbarhetene (CVSS 8.1). Hvis den utnyttes vellykket, lar sårbarheten data skrives utenfor buffergrensen ved bevisst tildeling av en mindre minnestørrelse.
- CVE-2022-28734: Enkeltbyte bufferoverflyt ved behandling av delte HTTP-hoder. Problemet kan føre til at GRUB2-metadata blir ødelagt (skriv en nullbyte like etter slutten av bufferen) når du analyserer spesiallagde HTTP-forespørsler.
- CVE-2022-28735: et problem i shim_lock-kontrollen som gjør at filer som ikke er kjernen kan lastes. Sårbarheten kan utnyttes til å starte opp usignerte kjernemoduler eller ubekreftet kode i UEFI Secure Boot-modus.
- CVE-2022-28736: Tilgang til et minneområde som allerede er frigjort i grub_cmd_chainloader()-funksjonen ved å kjøre chainloader-kommandoen på nytt som brukes til å laste operativsystemer som ikke støttes av GRUB2. Utnyttelsen kan føre til kjøring av angriperens kode hvis angriperen kan bestemme detaljene for minneallokeringen i GRUB2.
- CVE-2022-28737: Fiks lagbufferoverflyt i handle_image()-funksjonen når du laster og kjører tilpassede EFI-bilder.
For å feilsøke GRUB2 og shim, distribusjoner vil kunne bruke SBAT-mekanismen (Usefi Secure Boot Advanced Targeting), som er kompatibel med GRUB2, shim og fwupd. SBAT ble utviklet i samarbeid med Microsoft og innebærer å legge til ytterligere metadata til kjørbare UEFI-komponentfiler, inkludert produsent-, produkt-, komponent- og versjonsinformasjon.
Til slutt, hvis du er interessert i å vite mer om det, kan du konsultere detaljene I den følgende lenken.