16 Jahre alter Bug in UEFI-Firmware öffnet Angreifern die Hintertür vor dem Booten
Code-execution flaw in UEFI firmware threatens most servers on planet Earth

Eine Speicherkorruptionslücke im EDK2-Code, auf dem die UEFI-Firmware fast aller Server-Hersteller und Rechenzentren basiert, erlaubt Codeausführung vor Secure Boot und TPM. Der Pufferüberlauf im PXE-Treiber steckt seit 16 Jahren im Code und lässt sich per präparierter ICMP-Fehlermeldung während des Netzwerk-Boots ausnutzen. Der Patch ist öffentlich, ein koordiniertes Disclosure war erst für Januar geplant.
Ein Angreifer, der einen nahegelegenen Endpunkt oder Server kompromittieren will, könnte diesen Bug nutzen, um den Programmablauf an einer Stelle zu kapern, an der der Bootvorgang noch Zugriff auf sensible Komponenten wie das TPM des Endpunkts hat.
- FrasiertheLion
Wir haben kürzlich darüber geschrieben, wie wir von OVMF (~1 Mio. Zeilen C) zu sehr minimaler und hyperspezifischer Firmware (300 Zeilen Assembly)[1] für unsere spezifischen Confidential-VM-Maschinenziele wechseln, und die Idee, dass "populär" nicht automatisch "sicher" bedeutet. Man kann ein LLM auf jede große Codebasis ansetzen, und es wird Schwachstellen finden, also ist "patch the planet" nicht sehr skalierbar. Stattdessen kann man einfach hyperspezifische, kleine Codebasen schreiben und alle Sicherheitspraktiken darauf anwenden – wie LLMs (ökonomisch, wenn es klein ist), Fuzzing, formale Methoden usw.
- hn_submit
Ich war schon immer regelrecht misstrauisch gegenüber der Erschaffung von UEFI. Es führt Code vor dem Betriebssystem aus, bietet aber nicht wirklich eine Hardwareabstraktionsschicht wie BIOS. Die meisten Betriebssysteme nutzen weder BIOS noch eine andere Softwareebene und konfigurieren die Hardware selbst. Warum ist es dann da?
Und anders als BIOS, das relativ klein ist, ist UEFI "vollfett" – fast so groß wie ein Betriebssystem selbst. Es kann sogar eigene Anwendungen ausführen.
Die 1 Million Zeilen C-Code, aus denen UEFI besteht, sind voller Bugs, und dies ist nur einer davon. Zweifellos werden LLMs in der Lage sein, noch viel mehr davon aufzudecken.
- john_strinlai
>[...] hatte dafür gesorgt, dass es unter Verschluss bleibt bis zu einer koordinierten Offenlegung, die für Januar geplant war
hoffentlich sehen wir bald ein Ende dieser Art von naivem Optimismus, besonders wenn es sich um eine KI-unterstützte/KI-gefundene Schwachstelle handelt.
- rocqua
Ein interessanter Teil davon ist tatsächlich die Umgehung von Secure-Boot oder Bitlocker. Wenn ein Gerät für PXE-Boot fehlkonfiguriert ist, bei einem ansonsten abgeriegelten UEFI-System und starkem Secure Boot, könnte man damit die Boot-Kette durchbrechen und dann Secure-Boot deaktivieren oder Schlüssel aus einem TPM extrahieren.
Die Hauptfrage hier ist, wie oft Geräte, bei denen man das versuchen möchte, PXE-Boot aktiviert haben. Ich denke dabei vor allem an abgeriegelte Laptops. Entweder Firmenlaptops oder vom Hersteller abgeriegelte Geräte (Chromebooks, ich glaube einige Microsoft Surfaces).
- voidUpdate
Man muss also ein ICMP-Paket an einen Server senden, während er bootet? Das scheint eine extrem kleine Angriffsfläche zu sein. Ich weiß nicht, wann unsere Enterprise-Server das letzte Mal tatsächlich hochgefahren sind, sie bleiben einfach für immer an.
- DamnInteresting
> Es gibt wichtige Einschränkungen und Limitierungen bei der Ausnutzung dieser neuesten Schwachstelle. Wie erwähnt, ist ein gewisses Maß an Kontrolle über ein lokales Netzwerk eine Voraussetzung. Das beschränkt die Ausnutzung wahrscheinlich auf Insider oder Angreifer wie Nationalstaaten oder Ransomware-Betreiber, denen es gelingt, sich niedrigstufigen Zugang innerhalb eines Netzwerks zu verschaffen und die nach einer Möglichkeit suchen, Systemrechte zu erweitern.
- AppAttestationz
Auf dem Planeten Erde? Gott sei Dank sind die KI-Server im Weltraum sicher!!
- NovemberPapa
Wie ausnutzbar ist das wirklich? Erstens muss die Maschine einen PXE-Boot durchführen. In fast JEDER Maschine, die ich eingerichtet habe, bootet sie zuerst von festen Medien. Zweitens muss man einen Neustart der Maschine erzwingen, und die Maschine muss in einem Netzwerk sein, das man erreichen kann.
Klar, es gibt viele Maschinen, die PXE-Booten, aber wenn es eine öffentlich zugängliche Maschine ist, warum würde man sie überhaupt für PXE-Boot konfigurieren?