Sechs U-Boot-Schwachstellen könnten die Codeausführung vor dem Booten in eingebetteten Geräten ermöglichen

Sicherheitsforscher haben sechs Schwachstellen in U-Boot offengelegt, dem weit verbreiteten Open-Source-Bootloader in eingebetteten Linux-Systemen, Managementcontrollern von Unternehmensservern, Netzw...

Sicherheitsforscher haben sechs Schwachstellen in U-Boot offengelegt, dem weit verbreiteten Open-Source-Bootloader in eingebetteten Linux-Systemen, Managementcontrollern von Unternehmensservern, Netzwerkgeräten, Industrieanlagen und Geräten des Internets der Dinge. Die Schwachstellen betreffen die Logik zur Überprüfung von FIT-Signaturen in U-Boot und könnten es Angreifern ermöglichen, Abstürze auszulösen oder in einigen Fällen Code auszuführen, bevor das Betriebssystem mit dem Laden beginnt.

Da U-Boot früh im Startvorgang ausgeführt wird, können Schwachstellen in seinen Validierungsroutinen schwerwiegende Folgen haben. Wenn ein Angreifer die Startsequenz manipulieren kann, könnte er Sicherheitskontrollen umgehen, das Verhalten der Firmware verändern oder persistente Schadsoftware installieren, die nach dem Start des Systems nur schwer zu erkennen ist.

Welche Auswirkungen die Schwachstellen haben können

Binarly, das die Probleme gemeldet hat, erklärte, dass die Schwachstellen in ihrer Schwere von Denial-of-Service-Bedingungen bis hin zur Ausführung beliebigen Codes während der Firmwareüberprüfung reichen. Vier der Fehler können betroffene Geräte zum Absturz bringen, während zwei die Ausführung von Schadcode ermöglichen könnten, während U-Boot ein nicht vertrauenswürdiges Image überprüft.

  • Ein Problem kann U-Boot zum Absturz bringen und unter bestimmten Bedingungen zur Codeausführung führen.
  • Eine Schwachstelle durch Speicherbeschädigung könnte für die Ausführung beliebigen Codes missbraucht werden.
  • Ein Lesezugriff außerhalb der zulässigen Speichergrenzen kann einen Absturz des Bootloaders verursachen.
  • Auch die Dereferenzierung eines Nullzeigers kann das Gerät zum Absturz bringen.
  • Eine unzureichende Validierung extern gespeicherter Daten kann einen Absturz auslösen.
  • Ein Problem mit unbegrenzter Rekursion kann den Stack-Speicher erschöpfen und den Startvorgang anhalten.

Binarly zufolge ist ein großer Teil des anfälligen Codes bereits seit U-Boot 2013.07 vorhanden. Das bedeutet, dass das Problem mehr als 50 stabile Releases sowie zahlreiche herstellerspezifische Forks betreffen könnte.

Patch-Status und Gefährdung

Das Unternehmen meldete die Schwachstellen den U-Boot-Betreuern und reichte Korrekturen ein, die inzwischen in das Upstream-Projekt übernommen wurden. Welche Auswirkungen dies für Kunden hat, hängt jedoch davon ab, ob die Hardwarehersteller diese Änderungen in ihre eigenen Firmware-Builds integrieren und Updates veröffentlichen.

Dadurch sind ältere und nicht mehr unterstützte Produkte besonders gefährdet, insbesondere Geräte, die keine Firmware-Wartung mehr erhalten. Auf Systemen mit Fernverwaltungsfunktionen wie Baseboard-Management-Controllern könnte ein Angreifer, der bereits Zugriff auf die Verwaltungsschnittstelle erlangt hat, ein speziell präpariertes Firmware-Image einspielen, ohne physischen Zugriff auf das Gerät zu benötigen.