Twee kwetsbaarheden in GRUB2 waarmee u de UEFI Secure Boot-beveiliging kunt omzeilen

Er is informatie vrijgegeven over twee kwetsbaarheden in de GRUB2-bootloader, die kunnen leiden tot het uitvoeren van code bij het gebruik van speciaal ontworpen lettertypen en het verwerken van bepaalde Unicode-reeksen. Kwetsbaarheden kunnen worden gebruikt om het door UEFI Secure Boot geverifieerde opstartmechanisme te omzeilen.

Geïdentificeerde kwetsbaarheden:

  • CVE-2022-2601 - Een bufferoverloop in de functie grub_font_construct_glyph() bij het verwerken van speciaal ontworpen lettertypen in het pf2-formaat, wat optreedt als gevolg van een onjuiste berekening van de parameter max_glyph_size en de toewijzing van een geheugengebied dat duidelijk kleiner is dan nodig is om geschikt voor de symbolen.
  • CVE-2022-3775 Er treedt een schrijffout buiten het bereik op wanneer bepaalde Unicode-reeksen worden weergegeven in een speciaal opgemaakt lettertype. Het probleem zit in de lettertypeverwerkingscode en wordt veroorzaakt door een gebrek aan goede controles om ervoor te zorgen dat de breedte en hoogte van de glyph overeenkomen met de grootte van de beschikbare bitmap. Een aanvaller kan de invoer zo bewerken dat de staart van de gegevens naar de buitenkant van de toegewezen buffer wordt geschreven. Opgemerkt wordt dat, ondanks de complexiteit van het misbruiken van de kwetsbaarheid, het niet uitgesloten is dat het probleem zich ook in de uitvoering van de code voordoet.

De oplossing is gepubliceerd als patch. De status van het elimineren van kwetsbaarheden in distributies kan worden beoordeeld op deze pagina's: Ubuntu, SUSE, RHEL, Fedora, Debian. Om problemen in GRUB2 op te lossen is het niet voldoende om alleen het pakket bij te werken; je zult ook nieuwe interne digitale handtekeningen moeten genereren en installatieprogramma's, bootloaders, kernelpakketten, fwupd-firmware en shim-laag moeten bijwerken.

De meeste Linux-distributies gebruiken een kleine shim-laag die digitaal is ondertekend door Microsoft voor geverifieerd opstarten in de UEFI Secure Boot-modus. Deze laag verifieert GRUB2 met zijn eigen certificaat, waardoor distributieontwikkelaars niet elke kernel- en GRUB-update door Microsoft kunnen laten certificeren. Kwetsbaarheden in GRUB2 stellen je in staat om de uitvoering van je code te bewerkstelligen in de fase na succesvolle shim-verificatie, maar voordat het besturingssysteem wordt geladen, waardoor je in de vertrouwensketen terechtkomt wanneer de Secure Boot-modus actief is en volledige controle krijgt over het verdere opstartproces, inclusief een ander besturingssysteem laden, de componenten van het besturingssysteem wijzigen en de Lockdown-beveiliging omzeilen.

Om de kwetsbaarheid te blokkeren zonder de digitale handtekening in te trekken, kunnen distributies het SBAT-mechanisme (UEFI Secure Boot Advanced Targeting) gebruiken, dat wordt ondersteund voor GRUB2, shim en fwupd in de meeste populaire Linux-distributies. SBAT is samen met Microsoft ontwikkeld en omvat het toevoegen van aanvullende metadata aan de uitvoerbare bestanden van UEFI-componenten, waaronder informatie over de fabrikant, het product, het onderdeel en de versie. De opgegeven metadata zijn gecertificeerd met een digitale handtekening en kunnen afzonderlijk worden opgenomen in de lijsten met toegestane of verboden componenten voor UEFI Secure Boot.

Met SBAT kunt u het gebruik van digitale handtekeningen voor versienummers van individuele componenten blokkeren zonder dat u sleutels voor Secure Boot hoeft in te trekken. Het blokkeren van kwetsbaarheden via SBAT vereist niet het gebruik van een UEFI-certificaatintrekkingslijst (dbx), maar wordt uitgevoerd op het niveau van het vervangen van de interne sleutel om handtekeningen te genereren en GRUB2, shim en andere door distributies geleverde opstartartefacten bij te werken. Vóór de introductie van SBAT was het bijwerken van de certificaatintrekkingslijst (dbx, UEFI Revocation List) een voorwaarde voor het volledig blokkeren van de kwetsbaarheid, aangezien een aanvaller, ongeacht het gebruikte besturingssysteem, opstartbare media met een oude kwetsbare versie van GRUB2 kon gebruiken. gecertificeerd door een digitale handtekening, om UEFI Secure Boot in gevaar te brengen.

Bron: opennet.ru

Voeg een reactie