Jeśli zostaną wykorzystane, te luki mogą umożliwić atakującym uzyskanie nieautoryzowanego dostępu do poufnych informacji lub ogólnie spowodować problemy
Ujawniono szczegóły dwóch luk w programie ładującym GRUB2, które pmoże doprowadzić do wykonania kodu podczas korzystania ze specjalnie zaprojektowanych czcionek i obsługi niektórych sekwencji Unicode.
Wspomniano, że wykryte luki sąe może służyć do ominięcia mechanizmu rozruchu zweryfikowanego przez UEFI Secure Boot. Luki w GRUB2 pozwalają na wykonanie kodu na etapie po udanej weryfikacji shim, ale przed załadowaniem systemu operacyjnego, przerwanie łańcucha zaufania przy aktywnym trybie Secure Boot i uzyskanie pełnej kontroli nad procesem post-boot, np. aby uruchomić inny system operacyjny, zmodyfikować składniki systemu operacyjnego i ominąć ochronę przed blokadą.
W odniesieniu do zidentyfikowanych luk w zabezpieczeniach wymieniono, co następuje:
- CVE-2022-2601: przepełnienie bufora w funkcji grub_font_construct_glyph() podczas przetwarzania specjalnie spreparowanych czcionek w formacie pf2, które występuje z powodu błędnego obliczenia parametru max_glyph_size i przydzielenia obszaru pamięci, który jest oczywiście mniejszy niż potrzebny do umieszczenia glifów.
- CVE-2022-3775: Pisanie poza zakresem podczas renderowania niektórych ciągów Unicode w niestandardowej czcionce. Problem występuje w kodzie obsługi czcionek i jest spowodowany brakiem odpowiednich elementów sterujących zapewniających dopasowanie szerokości i wysokości glifu do dostępnego rozmiaru mapy bitowej. Osoba atakująca może zebrać dane wejściowe w taki sposób, aby spowodować wypisanie kolejki danych z przydzielonego bufora. Należy zauważyć, że pomimo złożoności wykorzystania luki, narażenie problemu na wykonanie kodu nie jest wykluczone.
Pełne łagodzenie wszystkich CVE będzie wymagało poprawek zaktualizowanych o najnowszą wersję SBAT (Secure Boot Advanced Targeting) oraz dane dostarczane przez dystrybucje i dostawców.
Tym razem lista odwołań UEFI (dbx) nie będzie używana, a odwołanie uszkodzonych
artefakty będą tworzone tylko za pomocą SBAT. Aby uzyskać informacje na temat stosowania
ostatnie odwołania SBAT, zobacz mokutil(1). Poprawki dostawcy można jawnie zezwalaj na uruchamianie starszych znanych artefaktów rozruchowych.GRUB2, podkładka i inne artefakty rozruchowe wszystkich dostawców, których dotyczy problem, zostaną zaktualizowane. będzie dostępny po zniesieniu embarga lub jakiś czas później.
Wspomina się o tym większość dystrybucji Linuksa używa małej warstwy poprawek, podpisany cyfrowo przez Microsoft, do zweryfikowanego rozruchu w trybie UEFI Secure Boot. Ta warstwa weryfikuje GRUB2 własnym certyfikatem, co pozwala programistom dystrybucji nie certyfikować każdej aktualizacji jądra i GRUB-a w firmie Microsoft.
Aby zablokować lukę bez unieważniania podpisu cyfrowego, dystrybucje może korzystać z mechanizmu SBAT (UEFI Secure Boot Advanced Targeting), który jest obsługiwany przez GRUB2, shim i fwupd w większości popularnych dystrybucji Linuksa.
SBAT został opracowany we współpracy z firmą Microsoft i obejmuje dodanie dodatkowych metadanych do plików wykonywalnych komponentów UEFI, w tym informacji o producencie, produkcie, komponencie i wersji. Określone metadane są podpisane cyfrowo i można je umieścić na oddzielnych listach składników dozwolonych lub zabronionych dla funkcji UEFI Secure Boot.
SBAT umożliwia zablokowanie użycia podpisu cyfrowego dla poszczególnych numerów wersji komponentów bez konieczności unieważniania kluczy dla Bezpiecznego rozruchu. Blokowanie luk w zabezpieczeniach za pomocą SBAT nie wymaga użycia listy CRL UEFI (dbx), ale odbywa się to raczej na poziomie wymiany klucza wewnętrznego w celu generowania podpisów i aktualizacji GRUB2, podkładek i innych artefaktów rozruchowych dostarczanych przez dystrybucje.
Przed wprowadzeniem SBAT aktualizacja listy odwołań certyfikatów (dbx, UEFI Revocation List) była warunkiem wstępnym pełnego zablokowania luki, ponieważ osoba atakująca, niezależnie od używanego systemu operacyjnego, mogła użyć nośnika startowego. GRUB2 certyfikowany podpisem cyfrowym, aby zagrozić UEFI Secure Boot.
W końcu Warto wspomnieć, że poprawka została wydana jako łatka., aby naprawić problemy w GRUB2, nie wystarczy zaktualizować pakiet, trzeba będzie również utworzyć nowe wewnętrzne podpisy cyfrowe i zaktualizować instalatory, programy ładujące, pakiety jądra, fwupd-firmware i shim-layer.
Stan usuwania luk w zabezpieczeniach w dystrybucjach można ocenić na tych stronach: Ubuntu, SUSE, RHEL, Fedora y Debian.
Możesz sprawdzić więcej na ten temat w następujący link.