Kriittinen haavoittuvuus GRUB2-käynnistyslataimessa, jonka avulla voit ohittaa UEFI Secure Bootin

GRUB2-käynnistyslataimessa paljastui 8 haavoittuvuutta. Vaarallisin ongelma (CVE-2020-10713), jonka koodinimi on BootHole, antaa mahdollisuus ohittaa UEFI Secure Boot -mekanismin ja asentaa vahvistamattomat haittaohjelmat. Tämän haavoittuvuuden erikoisuus on, että sen poistamiseen ei riitä GRUB2:n päivittäminen, koska hyökkääjä voi käyttää käynnistysmediaa vanhalla haavoittuvalla versiolla, joka on sertifioitu digitaalisella allekirjoituksella. Hyökkääjä voi vaarantaa varmennusprosessin paitsi Linuxin myös muiden käyttöjärjestelmien, mukaan lukien Windows.

Ongelma voidaan ratkaista vain päivittämällä järjestelmä varmenteen peruutusluettelo (dbx, UEFI Revocation List), mutta tässä tapauksessa kyky käyttää vanhaa asennusmediaa Linuxin kanssa menetetään. Jotkut laitevalmistajat ovat jo sisällyttäneet päivitetyn luettelon peruutusvarmenteista laiteohjelmistoonsa; tällaisissa järjestelmissä vain päivitetyt Linux-jakeluversiot voidaan ladata UEFI Secure Boot -tilassa.

Jakelujen haavoittuvuuden poistamiseksi sinun on myös päivitettävä asennusohjelmat, käynnistyslataimet, ydinpaketit, fwupd-laiteohjelmisto ja välityskerros luomalla niille uudet digitaaliset allekirjoitukset. Käyttäjien on päivitettävä asennuskuvat ja muut käynnistysvälineet sekä ladattava varmenteiden kumoamisluettelo (dbx) UEFI-laiteohjelmistoon. Ennen dbx:n päivittämistä UEFI:ksi järjestelmä pysyy haavoittuvaisena riippumatta päivitysten asennuksesta käyttöjärjestelmään.

Haavoittuvuus aiheuttanut puskurin ylivuoto, jota voidaan hyödyntää mielivaltaisen koodin suorittamiseen käynnistyksen aikana.
Haavoittuvuus ilmenee jäsennettäessä grub.cfg-määritystiedostoa, joka sijaitsee yleensä ESP:ssä (EFI System Partition) ja jota järjestelmänvalvojan oikeuksilla varustettu hyökkääjä voi muokata rikkomatta allekirjoitetun välilevyn ja GRUB2-suoritettavan tiedostojen eheyttä. Koska Virheitä kokoonpanon jäsennyskoodissa vakavien jäsennysvirheiden YY_FATAL_ERROR käsittelijä näytti vain varoituksen, mutta ei lopettanut ohjelmaa. Haavoittuvuuden riskiä vähentää tarve saada etuoikeutettu pääsy järjestelmään; ongelma saattaa kuitenkin olla tarpeen piilotettujen rootkittien käyttöönotossa, jos sinulla on fyysinen pääsy laitteisiin (jos on mahdollista käynnistää omalta medialta).

Useimmat Linux-jakelut käyttävät pientä välilevy kerrosMicrosoftin digitaalisesti allekirjoittama. Tämä kerros vahvistaa GRUB2:n omalla varmenteella, jonka ansiosta jakelukehittäjät eivät saa Microsoftin sertifioimaa jokaista ydintä ja GRUB-päivitystä. Haavoittuvuus sallii grub.cfg:n sisältöä muuttamalla koodin suorittamisen onnistuneen välivarmennusvaiheessa, mutta ennen käyttöjärjestelmän lataamista, kiilaamisen luottamusketjuun, kun suojattu käynnistystila on aktiivinen ja saa täyden hallinnan myöhemmän käynnistysprosessin aikana, mukaan lukien toisen käyttöjärjestelmän lataaminen, käyttöjärjestelmän komponenttien muokkaaminen ja suojauksen ohittaminen Lockdown.

Kriittinen haavoittuvuus GRUB2-käynnistyslataimessa, jonka avulla voit ohittaa UEFI Secure Bootin

Muita GRUB2:n haavoittuvuuksia:

  • CVE-2020-14308 — puskurin ylivuoto, koska grub_mallocissa varatun muistialueen kokoa ei ole tarkistettu;
  • CVE-2020-14309 - kokonaisluvun ylivuoto kohdassa grub_squash_read_symlink, mikä voi johtaa siihen, että dataa kirjoitetaan varatun puskurin ulkopuolelle;
  • CVE-2020-14310 - kokonaislukujen ylivuoto kohdassa read_section_from_string, mikä voi johtaa tietojen kirjoittamiseen varatun puskurin yli;
  • CVE-2020-14311 - kokonaisluvun ylivuoto kohdassa grub_ext2_read_link, mikä voi johtaa siihen, että dataa kirjoitetaan varatun puskurin ulkopuolelle;
  • CVE-2020-15705 — voit ladata allekirjoittamattomia ytimiä suoran käynnistyksen aikana Secure Boot -tilassa ilman välilevyä;
  • CVE-2020-15706 — pääsy jo vapautetulle muistialueelle (use-after-free), kun toimintoa määritetään uudelleen ajon aikana;
  • CVE-2020-15707 — kokonaislukujen ylivuoto aloituskoon käsittelijässä.

Hotfix-pakettipäivitykset on julkaistu Debian, Ubuntu, RHEL и SUSE. GRUB2:lle ehdotettu joukko laastareita.

Lähde: opennet.ru

Lisää kommentti