Proto6: Sechs kritische Schwachstellen in Protobuf.js entdeckt, die Daten und KI-Systeme bedrohen
Cybersicherheitsforscher haben sechs kritische Schwachstellen, kollektiv als **Proto6** bezeichnet, in **protobuf.js**, einer beliebten JavaScript- und TypeScript-Implementierung von **Protocol Buffers**, identifiziert. Diese Fehler könnten Remote Code Execution (RCE) und Denial-of-Service (DoS)-Angriffe ermöglichen und eine breite Palette von Node.js-Anwendungen, Google Cloud-Clientbibliotheken und sogar KI-Ökosysteme beeinträchtigen.
Cybersicherheitsforscher von **Cyera** haben ein halbes Dutzend Schwachstellen in **protobuf.js**, der weit verbreiteten JavaScript- und TypeScript-Implementierung von **Protocol Buffers** (**Protobuf**), aufgedeckt. Eine erfolgreiche Ausnutzung dieser Fehler, die kollektiv den Codenamen **Proto6** tragen, könnte zu schwerwiegenden Folgen führen, darunter Remote Code Execution (RCE) und Denial-of-Service (DoS)-Angriffe.
**Assaf Morag**, ein Sicherheitsforscher bei **Cyera**, hob die potenziellen Auswirkungen hervor: „In betroffenen Umgebungen könnte ein einziges bösartiges Protobuf-Schema, ein Deskriptor oder ein präpariertes Payload ausreichen, um Abstürze, Laufzeitbeschädigungen oder sogar Codeausführung auszulösen.“
**Protobuf** ist ein Open-Source-Mechanismus, der sprachunabhängig strukturierte Daten serialisiert und ursprünglich von **Google** intern entwickelt und genutzt wurde, bevor er 2008 öffentlich veröffentlicht wurde.
### Weitreichende Auswirkungen auf Node.js- und Cloud-Umgebungen
Die identifizierten Schwachstellen betreffen hauptsächlich **Node.js**-Anwendungen, die **protobuf.js** verwenden, sowie **Google Cloud**-Clientbibliotheken, Messaging-Frameworks wie **Baileys** und CI/CD-Pipelines. **Cyera** warnt, dass jeder **Node.js**-Dienst, der **Protobuf**-Daten deserialisiert oder Code aus Schemata mit **protobuf.js** generiert, wahrscheinlich gefährdet ist.
### Die Proto6-Schwachstellen im Detail
Die sechs Schwachstellen werden wie folgt detailliert aufgeführt:
* **CVE-2026-44289** (CVSS-Score: 7.5): DoS durch unbegrenzte Protobuf-Rekursion.
* **CVE-2026-44290** (CVSS-Score: 7.5): Prozessweiter DoS beim Laden von Schemata mit unsicheren Optionspfaden.
* **CVE-2026-44291** (CVSS-Score: 8.1): Code-Generierungs-Gadget nach Prototyp-Verschmutzung.
* **CVE-2026-44292** (CVSS-Score: 5.3): Prototyp-Injektion in generierten Nachrichtenkonstruktoren.
* **CVE-2026-44294** (CVSS-Score: 5.3): DoS durch präparierte Feldnamen im generierten Code.
* **CVE-2026-44295** (CVSS-Score: 8.7): Code-Injektion in pbjs statischen Output durch präparierte Schemanamen.
**Cyera** führt diese Schwachstellen auf die Standardannahme der Bibliothek zurück, dass Schema- und Metadateneingaben vertrauenswürdig sind. Diese kritische Überwachungsfunktion kann das Verhalten von Anwendungen manipulieren und potenziell zur Codeausführung führen.
### Angriffsszenarien
**Morag** betonte, dass die Ausnutzung zwar spezifische Bedingungen erfordert, diese aber in modernen Daten- und KI-Ökosystemen, die häufig Daten, Schemata und Konfigurationsdateien zwischen verschiedenen Diensten und Plattformen austauschen, immer häufiger vorkommen.
Ein Angreifer könnte ein bösartiges **protobuf**-Schema einschleusen, um CI/CD-Workflows zu kompromittieren und so zum Abfluss von Build-Geheimnissen zu führen (**CVE-2026-44295**). Alternativ könnte eine speziell präparierte Nachricht **Node.js**-Dienste abstürzen lassen, wie z. B. **WhatsApp**-Bots, die mit **Baileys** erstellt wurden (**CVE-2026-44292**).
### Die schwerwiegendste Schwachstelle: CVE-2026-44291
Die kritischste Schwachstelle, **CVE-2026-44291**, ermöglicht die Codeausführung, wenn eine **Node.js**-Anwendung vom Angreifer kontrollierte Eingaben verarbeitet.
**Vladimir Tokarev**, ein weiterer Sicherheitsforscher, erklärte den Mechanismus: „Diese Eingabe erreicht ein Prototyp-Verschmutzungs-Gadget. Später verwendet derselbe Prozess **protobuf.js**, um eine Nachricht zu kodieren oder zu dekodieren. Da **protobuf.js** Typnamen über einfache Eigenschaftsabfragen auflöst, kann ein verschmutztes **Object.prototype** einen vom Angreifer kontrollierten String wie ein gültiges **protobuf**-Primitiv erscheinen lassen.“
Er fügte hinzu: „**Protobuf.js** fügt diesen String dann in eine generierte Encoder- oder Decoderfunktion ein und kompiliert sie mit **Function()**. Der Angreifer erhält beliebige JavaScript-Ausführung innerhalb des **Node.js**-Prozesses.“
### Betroffene Versionen und Patches
Die folgenden Versionen des Tools sind anfällig:
* **protobuf.js**: Versionen <= 7.5.5 und >= 8.0.0 <= 8.0.1
* **protobufjs-cli**: Versionen <= 1.2.0 und >= 2.0.0 <= 2.0.1
Patches sind in **protobufjs**-Versionen 7.5.6 und 8.0.2 sowie in **protobufjs-cli**-Versionen 1.2.1 und 2.0.2 verfügbar. Benutzern wird dringend empfohlen, diese Updates sofort anzuwenden, um potenzielle Bedrohungen zu mindern.
### Eine neue Angriffsfläche für KI-Workloads
**Cyera** schloss mit der Hervorhebung der weitreichenden Auswirkungen: „Da **protobuf.js** intensiv in Datenbanken, Vektorspeichern, Inferenz-Pipelines, Orchestrierungssystemen, CI/CD-Tools und Cloud-SDKs verwendet wird, könnte eine erfolgreiche Ausnutzung sensible Unternehmens- und KI-Workloads in großem Maßstab beeinträchtigen.“
Dieser Vorfall unterstreicht einen wachsenden Trend, bei dem „moderne Software Schemata, Metadaten und Konfigurationsdateien zunehmend als vertrauenswürdige Eingaben behandelt, die Automatisierung, Orchestrierung und Code-Generierung steuern. Wenn diese Vertrauensannahmen gebrochen werden, können Daten zu Verhalten werden. Dieser Wandel schafft neue Angriffsflächen, die Sicherheitsteams identifizieren und verwalten lernen müssen.“