Binarly hat nach eigenen Angaben sechs eigenständige Schwachstellen im Code von U-Boot zur Verifikation von FIT-Signaturen offengelegt. Das Unternehmen begründet die Untersuchung mit der zentralen Rolle des Bootloaders: U-Boot gehört zu den am weitesten verbreiteten Open-Source-Bootloadern und ist in zahlreichen eingebetteten Linux-Geräten im Einsatz.
Eine wichtige Sicherheitsfunktion von U-Boot ist Verified Boot. Dabei sollen kryptographische Signaturen sicherstellen, dass beim Start nur Firmware- und Betriebssystem-Abbilder geladen werden, die mit einem vertrauenswürdigen Schlüssel signiert wurden. Genau in diesem Prüfpfad liegen laut Binarly die nun beschriebenen Fehler.
Wie Binarly mitteilt, reicht die Auswirkung der sechs Lücken von Denial of Service bis zu beliebiger Codeausführung bei der Verifikation eines nicht vertrauenswürdigen Abbilds. Zwei Schwachstellen können den Forschern zufolge potenziell zu beliebiger Codeausführung während der Firmware-Prüfung führen. Die übrigen vier lassen sich demnach nutzen, um anfällige Geräte zum Absturz zu bringen.
Besonders kritisch ist dabei der Zeitpunkt der möglichen Ausnutzung. Weil die betroffenen Routinen Firmware-Abbilder prüfen, bevor das Betriebssystem startet, könnte Schadcode noch vor dem Laden des Betriebssystems ausgeführt werden. Laut Binarly erschwert das die Erkennung, weil solche Aktivitäten vor dem Start des Betriebssystems stattfinden.
Binarly zufolge existiert der Großteil des verwundbaren Codes bereits seit U-Boot-Version 2013.07. Damit könnten potenziell mehr als 50 stabile Veröffentlichungen des Projekts betroffen sein. Hinzu kommen laut dem Unternehmen zahlreiche nachgelagerte Hersteller-Abspaltungen, die den verwundbaren Code in eigener Firmware verwenden.
Physischer Zugriff ist nach Angaben von Binarly nicht in jedem Fall nötig. Auf Systemen wie BMCs, die Fernaktualisierungen der Firmware unterstützen, könnte ein Angreifer mit bereits kompromittierter Management-Schnittstelle ein speziell präpariertes Firmware-Abbild hochladen, um die Fehler auszunutzen.
Binarly hat die Schwachstellen den U-Boot-Maintainern gemeldet und für alle sechs Probleme Patches eingereicht. Diese Korrekturen wurden nach Angaben des Unternehmens inzwischen in die zentrale Codebasis des Projekts übernommen.
Für Anwender bedeutet das allerdings nicht automatisch eine schnelle Bereinigung. U-Boot wird von den jeweiligen Hardware-Herstellern in deren Firmware integriert. Deshalb müssen die Korrekturen zunächst in die Firmware-Updates der Anbieter einfließen, bevor sie an Kunden verteilt werden können. Ältere oder nicht mehr unterstützte Geräte, die keine Firmware-Aktualisierungen mehr erhalten, werden möglicherweise nie gepatcht.
