Kritische Schwachstelle in protobuf.js bedroht tausende Dienste auf Google Cloud und Firebase
Die beliebte JavaScript-Bibliothek protobuf.js, die für die Arbeit mit dem Protocol Buffers-Format verwendet wird, enthält eine kritische Schwachstelle, die es Angreifern ermöglicht, beliebigen Code auf dem Server auszuführen. Das Problem betrifft Millionen von Diensten, insbesondere solche, die auf Google Cloud und Firebase laufen.
Wie der Angriff funktioniert
Die Schwachstelle hängt mit dem Mechanismus zur Verarbeitung von protobuf-Schemadateien zusammen. Die Bibliothek generiert JavaScript-Code basierend auf der Datenbeschreibung und führt ihn über eine eval-ähnliche Funktion aus. Wenn bösartiger Code in den Typ- oder Feldnamen des Schemas eingefügt wird, wird er ohne Validierung ausgeführt.
Der Angriff erfordert keine komplexen Aktionen: Es reicht aus, dass die Anwendung eine manipulierte Schemadatei aus einer externen Quelle lädt. Solche Schemas werden oft von Partnerdiensten, gemeinsamen Repositories oder über gRPC-Selbstbeschreibung bezogen. Nach dem Laden aktiviert eine einzige gewöhnliche Nachricht den bösartigen Code.
Ausmaß der Bedrohung
- 52 Millionen wöchentliche Downloads – so oft wird protobuf.js heruntergeladen.
- Die Bibliothek ist oft eine versteckte Abhängigkeit, daher kann die tatsächliche Anzahl gefährdeter Projekte höher sein.
- Betroffen sind Versionen bis einschließlich 8.0.0 und 7.5.4.
- Die Schwachstelle wurde unter der Kennung GHSA-xq3m-2v4x-88gg und einem CVSS-Score von 9.4 eingestuft.
Wichtige Punkte
- Die Schwachstelle ermöglicht die Codeausführung auf dem Server ohne Authentifizierung.
- Ein Angriff ist möglich, wenn die Anwendung Schemas aus externen Quellen lädt.
- Fixes wurden in den Versionen 8.0.1 und 7.5.5 veröffentlicht.
- Bisher wurden keine öffentlichen Angriffe gemeldet, aber die Ausnutzung ist technisch einfach.
- Dienste auf Google Cloud, Firebase und solche, die gRPC verwenden, sind besonders gefährdet.
Geschäftliche Auswirkungen
Wenn ein Angreifer eine einzige Schemaquelle kompromittiert, kann er:
- Zugriff auf Tokens und Benutzerdaten erhalten.
- In interne Dienste eindringen.
- Vertrauliche Informationen stehlen.
Angesichts der Beliebtheit von protobuf.js könnte der Angriff Tausende von Unternehmen betreffen. Entwickler müssen die Bibliothek dringend aktualisieren und alle Abhängigkeiten überprüfen, insbesondere solche, die Schemas aus externen Quellen laden.
Empfehlungen
- Aktualisieren Sie protobuf.js sofort auf Version 8.0.1 oder 7.5.5.
- Überprüfen Sie alle Projekte auf versteckte Abhängigkeiten von verwundbaren Versionen.
- Überprüfen Sie Stellen, an denen die Anwendung Schemadateien aus externen Quellen lädt.
- Erwägen Sie die Validierung von Schemas vor dem Laden.
- Verwenden Sie Integritätskontrollmechanismen für heruntergeladene Dateien.
— Editorial Team
Noch keine Kommentare.