Kritische Schwachstelle im GRUB2-Bootloader, die es Ihnen ermöglicht, UEFI Secure Boot zu umgehen

Im GRUB2-Bootloader identifiziert 8 Schwachstellen. Am gefährlichsten Problem (CVE-2020-10713), das den Codenamen BootHole trägt, ermöglicht Umgehen Sie den UEFI Secure Boot-Mechanismus und installieren Sie nicht verifizierte Malware. Die Besonderheit dieser Schwachstelle besteht darin, dass es zur Beseitigung nicht ausreicht, GRUB2 zu aktualisieren, da der Angreifer bootfähige Medien mit einer alten, anfälligen Version verwenden kann, die durch eine digitale Signatur zertifiziert ist. Ein Angreifer kann den Verifizierungsprozess nicht nur von Linux, sondern auch von anderen Betriebssystemen gefährden Windows.

Das Problem kann nur durch ein Update des Systems gelöst werden Zertifikatssperrliste (dbx, UEFI Revocation List), aber in diesem Fall geht die Möglichkeit verloren, alte Installationsmedien mit Linux zu verwenden. Einige Gerätehersteller haben bereits eine aktualisierte Liste von Sperrzertifikaten in ihre Firmware integriert; auf solchen Systemen können nur aktualisierte Builds von Linux-Distributionen im UEFI Secure Boot-Modus geladen werden.

Um die Schwachstelle in Distributionen zu beseitigen, müssen Sie außerdem Installationsprogramme, Bootloader, Kernelpakete, fwupd-Firmware und Shim-Layer aktualisieren und neue digitale Signaturen für sie generieren. Benutzer müssen Installationsimages und andere bootfähige Medien aktualisieren sowie eine Zertifikatssperrliste (dbx) in die UEFI-Firmware laden. Vor dem Update von dbx auf UEFI bleibt das System angreifbar, unabhängig von der Installation von Updates im Betriebssystem.

Sicherheitslücke verursacht ein Pufferüberlauf, der ausgenutzt werden kann, um während des Bootvorgangs beliebigen Code auszuführen.
Die Sicherheitslücke tritt beim Parsen des Inhalts der Konfigurationsdatei grub.cfg auf, die sich normalerweise in der ESP (EFI-Systempartition) befindet und von einem Angreifer mit Administratorrechten bearbeitet werden kann, ohne die Integrität der signierten Shim- und GRUB2-ausführbaren Dateien zu verletzen. Wegen Fehler Im Konfigurationsparsercode zeigte der Handler für schwerwiegende Parsingfehler YY_FATAL_ERROR nur eine Warnung an, beendete das Programm jedoch nicht. Das Risiko einer Sicherheitslücke wird durch die Notwendigkeit eines privilegierten Zugriffs auf das System verringert; das Problem kann jedoch erforderlich sein, um versteckte Rootkits einzuschleusen, wenn physischer Zugriff auf das Gerät besteht (wenn es möglich ist, von Ihrem eigenen Medium zu booten).

Die meisten Linux-Distributionen verwenden eine kleine Unterlegschicht, digital signiert von Microsoft. Diese Ebene verifiziert GRUB2 mit einem eigenen Zertifikat, was es Distributionsentwicklern ermöglicht, nicht jeden Kernel und jedes GRUB-Update von Microsoft zertifizieren zu lassen. Die Schwachstelle ermöglicht es, durch Ändern des Inhalts von grub.cfg, die Ausführung Ihres Codes in der Phase nach erfolgreicher Shim-Verifizierung, aber vor dem Laden des Betriebssystems zu erreichen, sich bei aktivem Secure Boot-Modus in die Vertrauenskette einzuklinken und die volle Kontrolle zu erlangen über den weiteren Bootvorgang, einschließlich des Ladens eines anderen Betriebssystems, der Änderung von Betriebssystemkomponenten und der Umgehung des Schutzes Situation.

Kritische Schwachstelle im GRUB2-Bootloader, die es Ihnen ermöglicht, UEFI Secure Boot zu umgehen

Weitere Schwachstellen in GRUB2:

  • CVE-2020-14308 — Pufferüberlauf aufgrund fehlender Überprüfung der Größe des zugewiesenen Speicherbereichs in grub_malloc;
  • CVE-2020-14309 – ein Integer-Überlauf in grub_squash_read_symlink, der dazu führen kann, dass Daten über den zugewiesenen Puffer hinaus geschrieben werden;
  • CVE-2020-14310 - Ganzzahlüberlauf in read_section_from_string, der dazu führen kann, dass Daten über den zugewiesenen Puffer hinaus geschrieben werden;
  • CVE-2020-14311 – ein Integer-Überlauf in grub_ext2_read_link, der dazu führen kann, dass Daten über den zugewiesenen Puffer hinaus geschrieben werden;
  • CVE-2020-15705 – ermöglicht das Laden unsignierter Kernel während des Direktstarts im Secure Boot-Modus ohne Shim-Schicht;
  • CVE-2020-15706 — Zugriff auf einen bereits freigegebenen Speicherbereich (Use-after-free) beim Neudefinieren einer Funktion zur Laufzeit;
  • CVE-2020-15707 – Ganzzahlüberlauf im initrd-Größenhandler.

Für wurden Hotfix-Pack-Updates veröffentlicht Debian, Ubuntu, RHEL и SUSE. Für GRUB2 vorgeschlagen Satz Flicken.

Source: opennet.ru

Kommentar hinzufügen