GRUB2 laadijaga NTFS-failisĂŒsteemi haldamiseks ettenĂ€htud draiveris avastati haavatavus (CVE-2023-4692), mis vĂ”imaldab kĂ€ivitada oma koodi laadijatasemel, kui pöörduda spetsiaalselt kujundatud failisĂŒsteemi pildi poole. Seda haavatavust saab kasutada UEFI Secure Booti kontrollitud kĂ€ivitamise mehhanismi ĂŒmberminekuks.
Haavatavus tuleneb veast NTFS-attribuudi "$ATTRIBUTE_LIST" (grub-core/fs/ntfs.c) tĂ”lgendamise koodis, mida saab kasutada kasutaja poolt kontrollitava teabe kirjutamiseks mĂ€lupiirkonda, mis asub mÀÀratud puhvri piiridest vĂ€ljas. Spetsiaalselt kujundatud NTFS-pildi töötlemisel viib ĂŒleujutus GRUBi mĂ€lu osa ĂŒlekirjutamiseni, samuti teatud tingimustel UEFI mĂ€lufirma osa kahjustamiseni, mis vĂ”imaldab potentsiaalselt kĂ€ivitada oma koodi laadijatasemel vĂ”i firma tasemel.
Lisaks on GRUB2 NTFS-draiveris avastatud veel ĂŒks haavatavus (CVE-2023-4693), mis vĂ”imaldab lugeda mistahes mĂ€lupiirkonna sisu, kui tĂ”lgendatakse attribuuti "$DATA" spetsiaalselt kujundatud NTFS-pildis. Ăks haavatavuse tagajĂ€rgi on konfidentsiaalsete andmete vĂ€ljavĂ”tmine, mis on vahemĂ€lus, vĂ”i EFI muutujate vÀÀrtuste mÀÀramine.
Probleemid on praegu lahendatud ainult patƥina. Haavatavuste kÔrvaldamise staatust jaotustes saab hinnata nendel lehtedel: Debian, Ubuntu, SUSE, RHEL, Fedora. GRUB2 probleemide lahendamiseks ei piisa pelgalt paketi uuendamisest; on vajalik ka uute sisemiste digitaalsete allkirjade vormistamine ning paigaldusprogrammide, laadijate, kernelipakettide, fwupd-firmwarede ja shim-kihtide uuendamine.
Enamikus Linuxi distributsioonides kasutatakse UEFI Secure Booti kinnitatud laadimise jaoks vĂ€ikest shim-kihti, mille on digitaalallkirjastanud Microsoft. See kiht kontrollib GRUB2 oma sertifikaadiga, vĂ”imaldades distributsioonide arendajatel mitte allkirjastada iga kernelit ja GRUB-i Microsoftis. GRUB2 haavatavused vĂ”imaldavad koodi kĂ€ivitamist pĂ€rast shim-i edukat kontrollimist, kuid enne operatsioonisĂŒsteemi laadimist, sekkudes usaldusketti aktiivse Secure Booti reĆŸiimis ja saavutades tĂ€ieliku kontrolli edasise laadimisprotsessi ĂŒle, nĂ€iteks teise operatsioonisĂŒsteemi laadimise, operatsioonisĂŒsteemi komponentide modifitseerimise ja Lockdown kaitse ĂŒmbersuunamise jaoks.
Digitaalallkirja tagasi vÔtmata haavatavuse blokeerimiseks vÔivad distributsioonid kasutada SBAT (UEFI Secure Boot Advanced Targeting) mehhanismi, mille toetust on rakendatud GRUB2, shim ja fwupd enamikus populaarsetes Linuxi distributsioonides. SBAT on vÀlja töötatud koostöös Microsoftiga ning see hÔlmab tÀiendavate metainformatsioonide lisamist UEFI komponente sisaldavatesse tÀiturfailidesse, sealhulgas tootja, toote, komponendi ja versiooni teavet. Mainitud metainformatsioon on digitaalallkirjaga allkirjastatud ja seda saab eraldi lisada lubatud vÔi keelatud komponentide loetellu UEFI Secure Boot jaoks.
SBAT vĂ”imaldab blokeerida digitaalallkirja kasutamise teatud komponendi versioonide jaoks, ilma et oleks vaja tagasi kutsuda vĂ”tmeid Secure Booti jaoks. Haavatavuste blokeerimine SBAT kaudu ei nĂ”ua UEFI tagasikutsumise sertifikaatide loendi (dbx) kasutamist ja toimub sisemise vĂ”tme asendamise tasemel allkirjade vormistamiseks ja GRUB2, shim ja teiste jaotustes pakutud kĂ€ivitamisartefaktide uuendamiseks. Enne SBAT rakendamist oli tagasikutsumise sertifikaatide loendi (dbx, UEFI Revocation List) uuendamine tĂ€ieliku haavatavuse blokeerimise tingimus, kuna rĂŒndaja, sĂ”ltumata kasutatavast operatsioonisĂŒsteemist, vĂ”is haavatavuse Ă€rakasutamiseks kasutada laadijat.
Allikas: opennet.ru
