Sårbarhet i Red Hat patchar till GRUB2 bootloader som låter dig kringgå lösenordsverifiering

Information om en sårbarhet (CVE-2023-4001) i patchar för GRUB2-starthanteraren som utarbetats av Red Hat har avslöjats. Sårbarheten gör att många system med UEFI kan kringgå lösenordskontrollen i GRUB2 för att begränsa åtkomsten till startmenyn eller kommandoraden för starthanteraren. Sårbarheten orsakas av en ändring som Red Hat lagt till i GRUB2-paketet som levereras med RHEL och Fedora Linux. Problemet visas inte i GRUB2-huvudprojektet och påverkar endast distributioner som har applicerat ytterligare Red Hat-patchar.

Problemet orsakas av ett fel i logiken för hur UUID används av starthanteraren för att hitta en enhet med en konfigurationsfil (till exempel "/boot/efi/EFI/fedora/grub.cfg") som innehåller ett lösenord hash. För att kringgå autentisering kan en användare med fysisk åtkomst till datorn ansluta en extern enhet, såsom en USB-flash, ställa in den på ett UUID som matchar identifieraren för startpartitionen/boot av det attackerade systemet.

Många UEFI-system bearbetar externa enheter först och placerar dem i listan över upptäckta enheter före stationära enheter, så /boot-partitionen som förbereds av angriparen kommer att ha högre bearbetningsprioritet, och följaktligen kommer GRUB2 att försöka ladda konfigurationsfilen från denna partition. När du söker efter en partition med "sök"-kommandot i GRUB2 bestäms endast den första UUID-matchningen, varefter sökningen stoppas. Om huvudkonfigurationsfilen inte hittas i en viss partition kommer GRUB2 att utfärda en kommandotolk som låter dig ha full kontroll över resten av uppstartsprocessen.

Verktyget "lsblk" kan användas för att bestämma UUID för en partition av en lokal oprivilegierad användare, men en extern användare som inte har tillgång till systemet men kan observera uppstartsprocessen kan, på vissa distributioner, bestämma UUID från diagnostik meddelanden som visas under uppstart. Sårbarheten har åtgärdats av Red Hat genom att lägga till ett nytt argument till "search"-kommandot som gör att UUID-skanningsoperationen endast kan bindas till blockenheter som används för att köra starthanteraren (dvs. /boot-partitionen måste bara vara på samma enhet som EFI-systempartition).

Källa: opennet.ru

Lägg en kommentar