Vulnerabilità critica in u bootloader GRUB2 chì vi permette di bypassà UEFI Secure Boot

In u bootloader GRUB2 rivelatu 8 vulnerabilità. U più periculosu un prublema (CVE-2020-10713), chì hè chjamatu BootHole, dà una chance ignora u mecanismu UEFI Secure Boot è installate malware micca verificatu. A peculiarità di sta vulnerabilità hè chì per eliminà, ùn hè micca abbastanza per aghjurnà GRUB2, postu chì l'attaccante pò utilizà media bootable cù una vechja versione vulnerabile certificata da una firma digitale. Un attaccu pò cumprumette u prucessu di verificazione micca solu di Linux, ma ancu di altri sistemi operativi, cumprese Windows.

U prublema pò esse risolta solu da l'aghjurnamentu di u sistema lista di revoca di certificatu (dbx, UEFI Revocation List), ma in questu casu l'abilità di utilizà vechji media di installazione cù Linux serà persa. Certi pruduttori di l'equipaggiu anu digià inclusu una lista aghjurnata di certificati di revocazione in u so firmware; in tali sistemi, solu e versioni aghjurnate di distribuzioni Linux ponu esse caricate in u modu UEFI Secure Boot.

Per eliminà a vulnerabilità in e distribuzioni, avete ancu bisognu di aghjurnà installatori, bootloaders, pacchetti di kernel, fwupd firmware è shim layer, generendu novi firme digitali per elli. L'utilizatori seranu richiesti d'aghjurnà l'imaghjini di l'installazione è altri media bootable, è ancu di carica una lista di revocazione di certificati (dbx) in u firmware UEFI. Prima di aghjurnà dbx à UEFI, u sistema resta vulnerabile indipendentemente da a stallazione di l'aghjurnamenti in u SO.

Vulnerabilità causatu un buffer overflow chì pò esse sfruttatu per eseguisce codice arbitrariu durante u prucessu di boot.
A vulnerabilità si trova quandu analizà u cuntenutu di u schedariu di cunfigurazione grub.cfg, chì hè generalmente situatu in l'ESP (EFI System Partition) è pò esse editatu da un attaccu cù diritti di amministratore senza violà l'integrità di u shim firmatu è i fugliali eseguibili GRUB2. À causa di sbagli in u codice parser di cunfigurazione, u gestore per l'errori di analisi fatali YY_FATAL_ERROR hà solu mostratu un avvisu, ma ùn hà micca finitu u prugramma. U risicu di vulnerabilità hè ridutta da a necessità di un accessu privilegiatu à u sistema; in ogni modu, u prublema pò esse necessariu di introduzione di rootkits nascosti s'ellu ci hè accessu fisicu à l'equipaggiu (se hè pussibule di boot da u vostru propiu media).

A maiò parte di e distribuzioni Linux utilizanu un picculu strata di shim, firmatu digitale da Microsoft. Questa strata verifica GRUB2 cù u so propiu certificatu, chì permette à i sviluppatori di distribuzione ùn avè micca ogni kernel è aghjurnamentu GRUB certificatu da Microsoft. A vulnerabilità permette, cambiendu u cuntenutu di grub.cfg, per ottene l'esekzione di u vostru còdice in u stadiu dopu a verificazione di shim successu, ma prima di carricà u sistema operatore, cuncendu in a catena di fiducia quandu u modu Secure Boot hè attivu è ottene u cuntrollu tutale. annantu à u prucessu di boot, cumpresu a carica di un altru OS, a mudificazione di i cumpunenti di u sistema operatore è a prutezzione di bypassing Lockdown.

Vulnerabilità critica in u bootloader GRUB2 chì vi permette di bypassà UEFI Secure Boot

Altre vulnerabilità in GRUB2:

  • CVE-2020-14308 - buffer overflow per mancanza di cuntrollu di a dimensione di l'area di memoria assignata in grub_malloc;
  • CVE-2020-14309 - un overflow integer in grub_squash_read_symlink, chì pò purtà à e dati chì sò scritti oltre u buffer assignatu;
  • CVE-2020-14310 - overflow integer in read_section_from_string, chì pò purtà à scrive dati fora di u buffer assignatu;
  • CVE-2020-14311 - un overflow integer in grub_ext2_read_link, chì pò purtà à e dati chì sò scritti oltre u buffer assignatu;
  • CVE-2020-15705 - permette di carricà i kernels senza firmatu durante l'avviamentu direttu in u modu Secure Boot senza una capa di shim;
  • CVE-2020-15706 - accessu à una zona di memoria dighjà liberata (usu-dopu-free) quandu si ridefinisce una funzione in runtime;
  • CVE-2020-15707 - overflow integer in u gestore di dimensione initrd.

L'aghjurnamenti di u pacchettu di hotfix sò stati liberati per Debian, Ubuntu, RHEL и SUSE. Per GRUB2 prupostu set di patch.

Source: opennet.ru

Add a comment