Schwachstellen, die es ermöglichen, Bilder zu ersetzen und Code auf den ASU-Servern des OpenWrt-Projekts auszufĂŒhren

Im sich entwickelnden OpenWrt-Projekt wurden kritische Schwachstellen (CVE-2024-54143) im ASU (Attended SysUpgrade)-Werkzeug identifiziert, die es ermöglichen, die ĂŒber den Dienst sysupgrade.openwrt.org oder externe ASU-Server verbreiteten Build-Artefakte zu kompromittieren und modifizierte, von Angreifern erstellte Firmware-Bilder auf den Systemen der Benutzer zu installieren, die den Modus „attended upgrade“ ĂŒber die Web-OberflĂ€che selector.openwrt.org oder das Kommandozeilenwerkzeug attended.sysupgrade zur Firmware-Aktualisierung verwenden.

FĂŒr einen erfolgreichen Angriff reicht es aus, dass der Angreifer eine Anfrage zur Erstellung eines Builds an den ASU-Server sendet (solche Anfragen kann jeder Benutzer ohne Authentifizierung senden). Durch Manipulation mit einer speziell gestalteten Paketliste kann der Angreifer den Versand zuvor generierter bösartiger Bilder als Antwort auf legitime Build-Anfragen anderer Benutzer organisieren.

Der ASU-Dienst wird in OpenWrt verwendet, um Firmware-Updates zu erstellen und zu installieren, ohne bestehende Einstellungen und vom Benutzer installierte Pakete zu verlieren. Über die Web-OberflĂ€che oder das Kommandozeilenwerkzeug sendet der Benutzer eine Anfrage zur Erstellung eines aktualisierten Firmware-Bildes unter Angabe der auf seinem System installierten Pakete. Nach einer gewissen Zeit erstellt der ASU-Server ein Bild, das dem bestellten Inhalt entspricht, woraufhin der Benutzer es herunterlĂ€dt und auf seinem GerĂ€t installiert. ZusĂ€tzlich gibt es eine Option, die es ermöglicht, vorhandene Einstellungen in der aktualisierten Firmware zu speichern.

Der ASU-Server ist fĂŒr die Bearbeitung von Benutzeranfragen verantwortlich und startet die automatische Erstellung von Firmware-Bildern mithilfe des ImageBuilder-Tools und unterstĂŒtzt auch einen Cache aus zuvor erstellten Builds. Wenn ein Benutzer ein Bild anfordert, das bereits frĂŒher erstellt wurde und aktuell ist, gibt das System sofort das vorhandene Bild aus dem Cache zurĂŒck, ohne den Erstellungsprozess zu starten. Server und behĂ€lt damit seine AktualitĂ€t; das System gibt das vorhandene Bild sofort aus dem Cache zurĂŒck, ohne den Erstellungsprozess zu starten.

Das Angriffsszenario wurde durch zwei Schwachstellen möglich.

  • Eine Schwachstelle im Anforderungsverarbeiter build_reques.py des Imagebuilder-Toolkits ermöglicht es, eigene Befehle im Build-Prozess durch die Übergabe speziell formatierter Paketnamen durch den Benutzer einzuschleusen. Die Schwachstelle entsteht durch das Fehlen einer angemessenen ÜberprĂŒfung von Sonderzeichen in Paketnamen, bevor sie als Argumente fĂŒr das Tool make verwendet werden. Ein Angreifer könnte diese Schwachstelle ausnutzen, um auf dem Server schĂ€dliche Firmware-Abbilder zu erstellen, die mit einem korrekten Build-SchlĂŒssel signiert sind.
  • Die Schwachstelle in der Bibliothek util.py resultiert daraus, dass die verwendeten SHA-256-Hashes, die zur ÜberprĂŒfung des Vorhandenseins bereits erstellter Firmware-Abbilder im Cache verwendet werden, auf 12 Zeichen abgeschnitten wurden. Dies reduzierte erheblich die Entropie und ermöglichte es, durch Kollisionen ein schĂ€dliches Bild zu erstellen, dessen Hash mit einem legitimen Bild ĂŒbereinstimmt. In Kombination mit der Schwachstelle im Imagebuilder konnte ein Angreifer das Problem mit den Hashes ausnutzen, um den Cache des ASU Servers zu „verunreinigen“ und schĂ€dliche Abbilder einzufĂŒgen, die auf Anfragen gewöhnlicher Benutzer zurĂŒckgegeben werden.

Die Änderung, nach der ein Angriff möglich wurde, wurde am 8. Juli vorgenommen. Das Problem wurde am 4. Dezember behoben. FĂŒr den Betrieb des ASU-Dienstes wurden separate Server, die sich nicht mit den Haupt-Baulösungen des Projekts ĂŒberschneiden, vom OpenWrt Buildbot getrennt und hatten keinen Zugang zu vertraulichen Ressourcen wie SSH-SchlĂŒsseln und Zertifikaten zur Erstellung digitaler Signaturen.

Es wird behauptet, dass die Entwickler von OpenWrt keine Anzeichen einer Kompromittierung der Infrastruktur des Projekts gefunden haben, aber zur Sicherheit die Systeme, auf denen die anfĂ€lligen Komponenten ausgefĂŒhrt wurden, von Grund auf neu installiert haben. Das Problem betraf nicht die offiziellen Abbilder, die ĂŒber die Website downloads.openwrt.org verbreitet wurden, und bei der Analyse der Build-Protokolle wurden keine Spuren des Versands schĂ€dlicher Anfragen gefunden. Da auf den ASU-Servern eine automatische Bereinigung von Builds Ă€lter als 7 Tage durchgefĂŒhrt wird, war es jedoch nicht möglich, alte Builds zu auditieren.

Die Wahrscheinlichkeit, dass die identifizierten Schwachstellen in der Praxis zur Verbreitung schĂ€dlicher Abbilder ĂŒber die Infrastruktur von OpenWrt genutzt werden, wird von Vertretern von OpenWrt als nahe null eingeschĂ€tzt. Dennoch wird ASU-Nutzern empfohlen, die OpenWrt-Firmware auf ihren GerĂ€ten durch dieselbe Version zu ersetzen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4