Vulnerability in Red Hat patches for GRUB2 bootloader, allowing password check bypass

Informacje o podatności (CVE-2023-4001) w łatkach do bootloadera GRUB2, przygotowanych przez firmę Red Hat, zostały ujawnione. Podatność umożliwia obejście hasła ustalonego w GRUB2, które ogranicza dostęp do menu rozruchowego lub wiersza poleceń bootloadera w wielu systemach z UEFI. Problem wynika z zmiany wprowadzonej przez Red Hat w pakiecie GRUB2 dostarczanym z RHEL i Fedora Linux. Problem nie występuje w głównym projekcie GRUB2 i dotyczy tylko dystrybucji, które zastosowały dodatkowe poprawki Red Hat.

Problem jest spowodowany błędem w logice użycia UUID do wyszukiwania przez bootloader urządzenia z plikiem konfiguracyjnym (np. «/boot/efi/EFI/fedora/grub.cfg»), który zawiera hash hasła. Aby obejść uwierzytelnianie, użytkownik z fizycznym dostępem do komputera może podłączyć zewnętrzny nośnik, taki jak pamięć USB, przypisując mu UUID, który powtarza identyfikator partycji rozruchowej /boot atakowanego systemu.

Wiele systemów UEFI najpierw przetwarza zewnętrzne nośniki i umieszcza je w liście wykrytych urządzeń przed stacjonarnymi nośnikami, dlatego bardziej priorytetową przy przetwarzaniu będzie partycja /boot przygotowana przez atakującego, a odpowiednio GRUB2 spróbuje załadować plik konfiguracyjny z tej partycji. W procesie wyszukiwania partycji z użyciem komendy «search» w GRUB2 następuje określenie tylko pierwszego dopasowania UUID, po czym wyszukiwanie zostaje przerwane. Jeśli w danej partycji główny plik konfiguracyjny nie zostanie znaleziony, GRUB2 wyświetli komunikat wiersza poleceń, który umożliwia pełną kontrolę nad dalszym procesem rozruchu.

Do określenia UUID partycji lokalny, nieuprzywilejowany użytkownik może użyć narzędzia «lsblk», ale osoba z zewnątrz, która nie ma dostępu do systemu, ale potrafi obserwować proces rozruchu, w niektórych dystrybucjach może rozpoznać UUID z wyświetlanych podczas rozruchu komunikatów diagnostycznych. Red Hat usunęła tę podatność, dodając nowy argument do komendy «search», który ogranicza operację skanowania UUID tylko do urządzeń blokowych używanych do uruchamiania bootloadera (tzn. partycja /boot musi znajdować się na tym samym dysku, co partycja systemowa EFI).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster