Ein GitLab-Nutzer mit Erlaubnis zur Konfiguration eines Agentenablaufs sollte dadurch keine Betriebssystemrechte des verarbeitenden Dienstes erhalten. CVE-2026-90970 durchbricht diese Trennung: Eine präparierte Duo-Konfiguration kann aus der Prompt-Template-Sandbox ausbrechen und beliebige Befehle auf einem betroffenen AI Gateway ausführen.

GitLab veröffentlichte die Lücke am 2. Oktober 2026 und bewertete sie mit CVSS 3.1 als kritisch 9,9. Ausnutzung verlangt Authentifizierung und Duo-Agent-Platform-Zugang. Gemeldet ist keine anonyme Zero-Click-Übernahme jedes GitLab-Servers. Entscheidend ist die nach diesen Voraussetzungen überschrittene Grenze, nicht das Verschweigen der Voraussetzungen.

GitLab-betriebene Gateways sind bereits repariert. Betreiber betroffener eigener Gateways müssen selbst aktualisieren und ihren Einsatz untersuchen. Code und Prompts im privaten Netz halten angemeldete Konfigurationsautoren nicht automatisch in der vorgesehenen Sandbox.

Die Gateway-Version prüfen, nicht nur GitLab

Die genannten betroffenen Gateway-Versionen beginnen bei 18.1.6 und reichen bis vor 19.2.4; der 19.3-Zweig ist vor 19.3.2, der 19.4-Zweig vor 19.4.1 betroffen. Korrigiert sind 19.2.4, 19.3.2 und 19.4.1. Betreiber sollten die passende behobene oder eine spätere unterstützte Gateway-Version einsetzen.

Die Zahlen gelten für das Gateway, einen eigenständigen Anwendungsdienst zwischen GitLabs KI-Funktionen und Modell-Backends. Es verarbeitet Anwendungslogik und Modellanfragen, ist nicht das Sprachmodell selbst. Image und Deployment können einen anderen Lebenszyklus als die Hauptanwendung haben. Eine vertraute GitLab-Versionsprüfung kann deshalb ein altes Gateway übersehen.

Managed, hybride und vollständig eigene Installationen unterscheiden sich. In hybriden Umgebungen können manche Funktionen Kundeninfrastruktur, andere GitLab-Dienste nutzen. Das Inventar braucht Routing je Funktion, sämtliche Replikate, Entwicklungs- und Versuchssysteme, gecachte Images und Wiederanlaufumgebungen – nicht nur die Produktionsoberfläche.

Vollständiges Self-Hosting kann mit wenig oder ohne allgemeines Internet funktionieren. Das begrenzt äußere Wege, verhindert aber keinen berechtigten Insider, gestohlenen Account, Diensttoken oder kompromittierten internen Workload. Abtrennung kann Sicherheitsmeldungen und Patchlieferung zusätzlich verlangsamen.

Der Fehler liegt in Template-Software

Ein Agentenfluss verbindet Prompts, Werkzeuge, Entscheidungen und Handlungen zu mehrstufiger Entwicklung. Templates machen Konfiguration und Laufzeitwerte zu Modellanweisungen. Die Sandbox soll verhindern, dass Template-Eingaben unsichere Anwendungsfunktionen oder Betriebssystemfähigkeiten erreichen.

Die Klasse ist CWE-1336: unzureichende Neutralisierung spezieller Elemente einer Template-Engine. Kontrollierte Syntax kann als ausführbares Template-Verhalten statt als Daten interpretiert werden. GitLab beschreibt hier beliebige Gateway-Befehle; weitere Folgen hängen von Prozessrechten, sichtbaren Objekten, Zugangsdaten und Netzwerkwegen ab.

Das ist nicht Prompt Injection. Diese beeinflusst das Modell durch Anweisungen, Template Injection dagegen die konventionelle Software zum Erstellen oder Rendern dieser Anweisungen. Befehle können unabhängig von der Modellantwort laufen. Eine zusätzliche Verhaltensanweisung an das Modell behebt deshalb keine unsichere Template-Verarbeitung.

Auch hat kein Modell nachweislich selbst einen Ausbruch erfunden. Die Eingabeoberfläche ist ein KI-Ablauf, die anfällige Grenze gehört aber zur Anwendung. Untersuchung muss Konfigurationshistorie, Gateway-/Containeraktivität, Rechte und nachgelagerte Zugangsdaten abdecken; Gesprächsprotokolle sind nicht die gesamte Incident-Spur.

Warum eine authentifizierte Lücke 9,9 erreicht

Der Vektor lautet AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H. Netzwerkangriff verlangt keine vorhandene lokale Shell, bedeutet aber nicht zwingend einen öffentlichen Internetdienst. Niedrige Komplexität heißt im Standardmodell keine enge Race Condition oder ungewöhnlicher Zustand. Niedrige Rechte bedeuten weiterhin Anmeldung und Plattformzugang.

Ohne weitere Nutzerinteraktion muss niemand anschließend eine Datei öffnen, einen Dialog bestätigen oder einen Köder anklicken. Geänderter Scope erfasst den Wechsel von erlaubter Ablaufkonfiguration in eine andere Sicherheitsautorität: die Befehlsumgebung des Gateways.

Hohe Vertraulichkeits-, Integritäts- und Verfügbarkeitsfolgen betreffen potenzielles Lesen, Verändern und Unterbrechen. Die standardisierte 9,9-Bewertung beweist weder maximalen Schaden in jedem Deployment noch irgendeinen Einbruch. Architektur, minimale Rechte, erreichbare Systeme und Geheimnisse bestimmen den tatsächlichen Radius.

Ein angemeldeter Nutzer ist kein automatischer Infrastrukturadministrator. Flow-Autoren benötigen vielleicht umfangreiche Funktionen, aber nicht die Betriebssystemrechte des Interpreters. Ein gestohlener Token oder überberechtigter Automationsaccount macht die Grenze auch bei ursprünglich legitimen Nutzern relevant.

Container sind Grenzen, keine Risikobeseitigung. Auch ohne Root können sie eingebundene Geheimnisse, Diensttoken, verarbeitete Daten und interne Netzwerkwege offenlegen. Schreibbare Mounts, übermäßige Rechte und breiter Egress vergrößern Folgen. Befehle in einem Container beweisen umgekehrt keinen vollständigen Infrastrukturverlust.

Ein zweiter kritischer Fund wirft Architekturfragen auf

Im Februar behob GitLab CVE-2026-1868 im Duo Workflow Service des Gateways. Auch dort wurden nutzergesteuerte Templates über präparierte Flows unsicher expandiert, mit derselben 9,9-Bewertung und demselben Vektor. Korrigiert waren unter anderem 18.6.2, 18.7.1 und 18.8.1; ein interner Mitarbeiter fand den Fehler.

Die Ähnlichkeit rechtfertigt tiefere Prüfung der Flow-Template-Grenze. Sie beweist weder Regression noch unvollständigen Februar-Patch oder identischen Pfad im Oktober. Öffentliche Zusammenfassungen klären die Beziehung nicht; keine Erklärung sollte als bestätigt erscheinen.

Flexible deklarative Konfiguration kann wie eine Programmiersprache wirken, wenn Ausdrücke, Variablen und Plugins zu privilegierten Aktionen werden. Mehr Anpassbarkeit erweitert die Aufgabe sicherer Parser und Sandboxes. Besonders riskant ist nicht vertrauenswürdiges Template-Rendering mit wertvollem Infrastrukturzugang im selben Prozess.

Mehrere unabhängige Schichten bleiben sinnvoll: Eingaben als Daten behandeln, minimale Objekte bereitstellen, Flows autorisieren, Dateisystem-/Netz-/Credential-Rechte begrenzen und Änderungen zurechnen. Erstellte oder geänderte Flows sollten späterem Gateway-Verhalten zugeordnet werden können. Sie brauchen Eigentümer, Review, Versionierung und Tests wie CI-Konfiguration.

Patchen und Kompromittierung feststellen sind zwei Aufgaben

Betreiber sollten vorherige Image-Digests und Deployment-Belege sichern, eine korrigierte Version installieren, Workloads neu starten und das tatsächlich laufende Image prüfen. Alte Replikate, Testcluster und Recovery dürfen keine betroffene Kopie behalten. Erfolgreicher Start allein beweist keinen vollständigen Austausch.

Die Untersuchung des anfälligen Zeitraums muss menschliche und technische Identitäten mit Flow-Änderungsrechten ermitteln, Konfigurationen sichern und Auditspuren prüfen. Unerwartete Kindprozesse, Kommandointerpreter, Dateiveränderungen, ausgehende Verbindungen und Neustarts verdienen Vergleich mit Normalbetrieb. Das sind Prüfhinweise, keine veröffentlichte universelle IOC-Liste dieser CVE.

Installationsunterlagen beschreiben signierte JSON Web Tokens und getrennte Gateway-/Agent-Platform-Dienste mit eigenen Signaturschlüsselpaaren. Beide Dienste, ihre Vertrauensbeziehung und Laufzeitschlüssel/-konfiguration sind zu untersuchen. Ein einzelnes Credential vertritt nicht das gesamte System. Erreichbare Zugangsdaten eines kompromittierten Prozesses können bei entsprechender Evidenz oder Exposition Rotation benötigen.

Zu kartieren sind GitLab-Instanz, Modellserver, Monitoring und interne Ziele des Gateways. Quellcodebezogene Prompts und Issue-Kontext können sensibel sein, selbst wenn der Container wenig speichert. Enger Egress, Workload-Identitäten, schreibgeschützte Dateisysteme und geringe Rechte begrenzen Folgen, reparieren jedoch nicht die Template-Lücke.

Self-Hosting verteilt Arbeit auf Plattform-, Modell-, Container- und Netzteams. Ein unzugeordnetes Gateway-Image kann dazwischen verloren gehen. Managed reduziert diese konkrete Kunden-Patchaufgabe, bringt aber andere Anbieter-, Standort- und Abhängigkeitstauschgeschäfte. Der Vorfall beweist keine universell sicherere Betriebsform.

Was öffentlich noch nicht belegt ist

Die verfügbaren Berichte bestätigen weder aktive oder breite Produktionsausnutzung noch öffentlichen Proof of Concept, detaillierten Aufrufpfad oder universelle Nachkompromittierungsmerkmale. Keine öffentliche Bestätigung ist keine Bestätigung der Unversehrtheit. Herstellerbestätigte Befehlsausführung und kritische Einstufung rechtfertigen Behebung ohne zusätzliche Warteexposition.

Als Nächstes zählen belegte Kundenupdates, GitLabs ausführlichere Ursachenanalyse und glaubwürdige Ausnutzungstelemetrie oder neue Behördenhinweise. Nach einer Updatefrist kann die Analyse einen eigenen Pfad von Bypass oder Regression unterscheiden. Lokale Abschlussbelege sollten alte/neue Images, Neustart, Validierung und Verantwortliche neben Konfigurations- und Incident-Historie festhalten.

Der praktische Test lautet: Welche Gateways existieren, wer konnte Flows ändern und welche Systeme und Geheimnisse erreicht jeder Prozess? KI-Middleware gehört in dieselbe Produktionsdisziplin wie CI-Runner, Artefaktarchive und Secret Manager. Datenlokalität wird erst wirksame Kontrolle, wenn Betreiber den ausführenden Dienst inventarisieren, patchen, isolieren und untersuchen können.

Quellen und weiterführende Lektüre

Datensatz CVE-2026-90970 · AI-Gateway-Dokumentation · Template-Schwachstelle CWE-1336 · Duo-Self-Hosting-Architektur · Installation und Signaturschlüssel · Frühere CVE-2026-1868 · Leitfaden für Incident-Unterlagen · Ursprünglicher Fundnachweis

Quellen

Tool-Verzeichnis ansehen →