Im GRUB2-Bootloader 8 Schwachstellen. Die gefĂ€hrlichste (), die den Codenamen BootHole trĂ€gt, den UEFI Secure Boot-Mechanismus zu umgehen und nicht verifiziertes Malware zu installieren. Ein besonderes Merkmal dieser Schwachstelle ist, dass ein einfaches Update von GRUB2 nicht ausreicht, da ein Angreifer ein bootfĂ€higes Medium mit einer alten, verwundbaren Version verwenden kann, die durch eine digitale Signatur verifiziert wurde. Der Angreifer kann den Verifizierungsprozess nicht nur von Linux, sondern auch von anderen Betriebssystemen kompromittieren, einschlieĂlich .
Das Problem kann nur durch ein Update des (dbx, UEFI Widerrufsliste) gelöst werden, aber in diesem Fall wird die Möglichkeit zur Verwendung Àlterer Installationsmedien mit Linux verloren gehen. Einige Hardwarehersteller haben bereits aktualisierte Widerrufslisten in ihre Firmware integriert; auf solchen Systemen wird im UEFI Secure Boot-Modus nur der Zugang zu aktualisierten Versionen von Linux-Distributionen möglich sein.
Um die SicherheitsanfĂ€lligkeit in den Distributionen zu beheben, mĂŒssen auch die Installer, Bootloader, Kernel-Pakete, fwupd-Firmware und die shim-Schicht aktualisiert werden, wobei neue digitale Signaturen erstellt werden. Nutzer mĂŒssen die Installationsabbilder und andere bootfĂ€hige Medien aktualisieren und die Liste der widerrufenen Zertifikate (dbx) in die UEFI-Firmware laden. Bis dbx in der UEFI aktualisiert wird, bleibt das System anfĂ€llig, unabhĂ€ngig von installierten Updates im Betriebssystem.
SicherheitsanfĂ€lligkeit einem PufferĂŒberlauf, der ausgenutzt werden kann, um beliebigen Code im Bootprozess auszufĂŒhren.
Die AnfĂ€lligkeit tritt beim Parsen des Inhalts der Konfigurationsdatei grub.cfg auf, die normalerweise im ESP (EFI System Partition) abgelegt ist und von einem Angreifer mit Administratorrechten bearbeitet werden kann, ohne die IntegritĂ€t der signierten ausfĂŒhrbaren Dateien von shim und GRUB2 zu beeintrĂ€chtigen. Aufgrund von Im Code des Konfigurationsparsers gab der Handler fĂŒr fatale Parsierungsfehler YY_FATAL_ERROR lediglich eine Warnung aus und beendete das Programm nicht. Das Risiko der Verwundbarkeit wird durch die Notwendigkeit eines privilegierten Zugangs zum System gemindert. Dennoch könnte das Problem fĂŒr die Implementierung versteckter Rootkits relevant werden, falls physischer Zugang zur Hardware besteht (insbesondere wenn das Booten von einem eigenen TrĂ€ger möglich ist).
In den meisten Linux-Distributionen wird zur verifizierten Boot-Prozess eine kleine , die digital von Microsoft signiert ist, verwendet. Diese Schicht verifiziert GRUB2 mit ihrem eigenen Zertifikat, was es den Entwicklern der Distributionen ermöglicht, nicht jedes Kernel- oder GRUB-Update bei Microsoft zu signieren. Die Verwundbarkeit erlaubt es, durch Ănderung des Inhalts von grub.cfg eigenen Code nach erfolgreicher Verifizierung des Shim auszufĂŒhren, jedoch vor dem Booten des Betriebssystems. Dadurch wird in die Vertrauenskette eingegriffen, wĂ€hrend der Secure Boot aktiv ist, und vollstĂ€ndige Kontrolle ĂŒber den weiteren Bootprozess erlangt, einschlieĂlich des Bootens eines anderen Betriebssystems, der Modifikation von Betriebssystemkomponenten und der Umgehung von SchutzmaĂnahmen. .
Weitere Schwachstellen in GRUB2:
- â BufferĂŒberlauf aufgrund fehlender GröĂenĂŒberprĂŒfung des zugewiesenen Speichers in grub_malloc;
- â GanzzahlĂŒberlauf in grub_squash_read_symlink, der zu einer DatenĂŒberschreibung auĂerhalb des zugewiesenen Puffers fĂŒhren kann;
- â GanzzahlĂŒberlauf in read_section_from_string, der zu einer DatenĂŒberschreibung auĂerhalb des zugewiesenen Puffers fĂŒhren kann;
- â GanzzahlĂŒberlauf in grub_ext2_read_link, der zu einer DatenĂŒberschreibung auĂerhalb des zugewiesenen Puffers fĂŒhren kann;
- â Erlaubt das Laden von nicht signierten Kernen bei direkter Boot-Option im Secure Boot-Modus ohne shim-Schicht;
- â Zugriff auf bereits freigegebenen Speicher (use-after-free) bei der LaufzeitĂŒberschreibung von Funktionen;
- â GanzzahlĂŒberlauf im Handler fĂŒr die GröĂe von initrd.
Paketupdates mit Fixes wurden veröffentlicht fĂŒr , , und . FĂŒr GRUB2 Patch-Satz.
Quelle: opennet.ru
