Vulnerabilitate critică în bootloader-ul GRUB2 care vă permite să ocoliți UEFI Secure Boot

În bootloader-ul GRUB2 dezvăluit 8 vulnerabilități. Cel mai periculos problemă (CVE-2020-10713), care poartă numele de cod BootHole, da o sansa ocoliți mecanismul UEFI Secure Boot și instalați malware neverificat. Particularitatea acestei vulnerabilități este că pentru a o elimina nu este suficient să actualizați GRUB2, deoarece atacatorul poate folosi medii de pornire cu o versiune veche vulnerabilă certificată printr-o semnătură digitală. Un atacator poate compromite procesul de verificare nu numai al Linux-ului, ci și al altor sisteme de operare, inclusiv ferestre din.

Problema poate fi rezolvată doar prin actualizarea sistemului lista de revocare a certificatelor (dbx, UEFI Revocation List), dar în acest caz se va pierde capacitatea de a utiliza medii vechi de instalare cu Linux. Unii producători de echipamente au inclus deja o listă actualizată de certificate de revocare în firmware-ul lor; pe astfel de sisteme, numai versiunile actualizate ale distribuțiilor Linux pot fi încărcate în modul UEFI Secure Boot.

Pentru a elimina vulnerabilitatea din distribuții, va trebui, de asemenea, să actualizați instalatorii, încărcătoarele, pachetele de kernel, firmware-ul fwupd și stratul shim, generând noi semnături digitale pentru acestea. Utilizatorilor li se va cere să actualizeze imaginile de instalare și alte medii de pornire, precum și să încarce o listă de revocare a certificatelor (dbx) în firmware-ul UEFI. Înainte de a actualiza dbx la UEFI, sistemul rămâne vulnerabil indiferent de instalarea actualizărilor în sistemul de operare.

Vulnerabilitate cauzat un buffer overflow care poate fi exploatat pentru a executa cod arbitrar în timpul procesului de boot.
Vulnerabilitatea apare la analizarea conținutului fișierului de configurare grub.cfg, care se află de obicei în ESP (EFI System Partition) și poate fi editat de un atacator cu drepturi de administrator fără a încălca integritatea shim-ului semnat și a fișierelor executabile GRUB2. Din cauza Erori în codul de parser de configurare, handlerul pentru erori fatale de analizare YY_FATAL_ERROR a afișat doar un avertisment, dar nu a terminat programul. Riscul de vulnerabilitate este redus de necesitatea de a avea acces privilegiat la sistem; cu toate acestea, problema poate fi necesară pentru a introduce rootkit-uri ascunse dacă aveți acces fizic la echipament (dacă este posibil să porniți de pe propriul suport).

Majoritatea distribuțiilor Linux folosesc un mic strat de lame, semnat digital de Microsoft. Acest strat verifică GRUB2 cu propriul certificat, ceea ce permite dezvoltatorilor de distribuție să nu aibă fiecare kernel și actualizare GRUB certificat de Microsoft. Vulnerabilitatea permite, prin modificarea conținutului grub.cfg, să realizați execuția codului dvs. în etapa după verificarea shim-ului cu succes, dar înainte de a încărca sistemul de operare, trecerea în lanțul de încredere atunci când modul Secure Boot este activ și obținerea controlului deplin. peste procesul de pornire ulterioară, inclusiv încărcarea unui alt sistem de operare, modificarea componentelor sistemului de operare și ocolirea protecției autoblocare.

Vulnerabilitate critică în bootloader-ul GRUB2 care vă permite să ocoliți UEFI Secure Boot

Alte vulnerabilități în GRUB2:

  • CVE-2020-14308 — depășirea tamponului din cauza lipsei de verificare a dimensiunii zonei de memorie alocată în grub_malloc;
  • CVE-2020-14309 - o depășire a numărului întreg în grub_squash_read_symlink, care poate duce la scrierea datelor dincolo de buffer-ul alocat;
  • CVE-2020-14310 - overflow întreg în read_section_from_string, care poate duce la scrierea datelor dincolo de buffer-ul alocat;
  • CVE-2020-14311 - o depășire a numărului întreg în grub_ext2_read_link, care poate duce la scrierea datelor dincolo de buffer-ul alocat;
  • CVE-2020-15705 — vă permite să încărcați nuclee nesemnate în timpul pornirii directe în modul Secure Boot fără un strat shim;
  • CVE-2020-15706 — acces la o zonă de memorie deja eliberată (use-after-free) la redefinirea unei funcții în timpul execuției;
  • CVE-2020-15707 — Integer overflow în manipulatorul de dimensiune initrd.

Actualizările pachetului de remedieri rapide au fost lansate pentru Debian, Ubuntu, RHEL и SUSE. Pentru GRUB2 propus set de petice.

Sursa: opennet.ru

Adauga un comentariu