Ranljivost u NTFS vozaču koji je dio GRUB2, koja omogućuje izvršavanje koda i zaobilaženje UEFI Secure Bootea

U driveru koji omogućuje rad s datotečnim sustavom NTFS u GRUB2 bootloaderu otkrivena je ranjivost (CVE-2023-4692) koja omogućuje izvršavanje korisničkog koda na razini bootloadera kada se pristupa posebno oblikovanoj slici datotečnog sustava. Ranjivost se može iskoristiti za zaobilaženje mehanizma provjere autentičnosti UEFI Secure Boot.

Ranjivost je uzrokovana greškom u kodu koji analizira NTFS atribut "$ATTRIBUTE_LIST" (grub-core/fs/ntfs.c), koja se može iskoristiti za pisanje korisnički kontroliranih informacija u područje memorije izvan dodijeljenog buffer-a. Prilikom obrade posebno oblikovane NTFS slike, prelivanje dovodi do prepisivanja dijela GRUB memorije te, pod određenim uvjetima, do oštećenja područja memorije UEFI firmwarea, što potencijalno omogućuje izvršavanje korisničkog koda na razini bootloadera ili firmwarea.

Osim toga, u NTFS driveru iz GRUB2 otkrivena je još jedna ranjivost (CVE-2023-4693) koja omogućuje čitanje sadržaja proizvoljnog područja memorije prilikom analize atributa "$DATA" u posebno oblikovanoj NTFS slici. Između ostalog, ranjivost omogućuje izvlačenje povjerljivih podataka koji su keširani u memoriji ili određivanje vrijednosti EFI varijabli.

Problemi su za sada otklonjeni samo u obliku zakrpe. Status otklanjanja ranjivosti u distribucijama može se ocijeniti na sljedećim stranicama: Debian, Ubuntu, SUSE, RHEL, Fedora. Za otklanjanje problema u GRUB2 nije dovoljno samo ažurirati paket; potrebno je također stvoriti nove unutarnje digitalne potpise i ažurirati instalacijske programe, bootloadere, pakete s kernelom, fwupd firmware i shim sloj.

U većini Linux distribucija, za verifikovano pokretanje u UEFI Secure Boot režimu koristi se mala slojevitost shim, koju je potpisala Microsoftova digitalna potpis. Ova slojevitost verifikuje GRUB2 vlastitim certifikatom, što omogućava razvijačima distribucija da ne potpisuju svaku nadogradnju jezgra i GRUB kod Microsofta. Ranjenosti u GRUB2 omogućuju izvršavanje koda nakon uspešne verifikacije shima, ali pre pokretanja operativnog sistema, upadajući u lanac poverenja tokom aktivnog režima Secure Boot i stičući potpunu kontrolu nad daljnjim procesom pokretanja, na primer, za pokretanje drugog operativnog sistema, modifikaciju komponenti operativnog sistema i zaobilaženje zaštite Lockdown.

Za blokiranje ranjivosti bez opoziva digitalne potpise, distribucije mogu koristiti mehanizam SBAT (UEFI Secure Boot Advanced Targeting), čija podrška je implementirana za GRUB2, shim i fwupd u većini popularnih Linux distribucija. SBAT je razvijen u saradnji s Microsoftom i podrazumeva dodavanje dodatnih metapodataka u izvršne datoteke UEFI komponenti, koji uključuju informacije o proizvođaču, proizvodu, komponenti i verziji. Ovi metapodaci su potpisani digitalnom potpisom i mogu biti odvojeno uključeni u liste dozvoljenih ili zabranjenih komponenti za UEFI Secure Boot.

SBAT omogućuje blokiranje korištenja digitalnog potpisa za pojedine verzije komponenti bez potrebe za opozivanjem ključeva za Secure Boot. Blokiranje ranjivosti putem SBAT-a ne zahtijeva korištenje popisa opozvanih UEFI certifikata (dbx), već se provodi na razini zamjene unutarnjeg ključa za formiranje potpisa i ažuriranje GRUB2, shim i drugih isporučenih distribucija pokretačkih artefakata. Prije uvođenja SBAT-a, ažuriranje popisa opozvanih certifikata (dbx, UEFI Revocation List) bilo je obvezno za potpuno blokiranje ranjivosti, jer je napadač, bez obzira na korišteni operativni sustav, mogao iskoristiti podizanje sustava za kompromitaciju UEFI Secure Boot.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster