Gemini CLI CVSS 10: GitHub-RCE durch TrustIssues und Prompt Injection
TL;DR
Google hat eine kritische Schwachstelle in Gemini CLI und der GitHub Action run-gemini-cli unter GHSA-wpqr-6v78-jr5g geschlossen. Einen CVE-Eintrag gibt es nach aktuellem Stand nicht, die GitHub Advisory bewertet das Risiko aber mit CVSS 10.0. Betroffen sind vor allem CI/CD-Workflows, in denen Gemini CLI im Headless-Modus auf untrusted Inputs wie Pull Requests, Issues oder Repository-Inhalte losgelassen wird. Zwei Fehler sind wichtig: Workspace-Konfiguration wurde in Headless-Umgebungen zu leicht vertraut, und unter --yolo wurden Tool-Allowlisten nicht zuverlässig durchgesetzt. Patchen Sie auf @google/gemini-cli 0.39.1 oder 0.40.0-preview.3 und run-gemini-cli 0.1.22. Danach sollten Sie Workflows mit AI-Agenten neu modellieren: keine Secrets in untrusted Runs, persist-credentials: false bei actions/checkout, minimale GitHub-Token-Rechte, strikte Tool-Allowlists und GEMINI_TRUST_WORKSPACE nur für wirklich vertrauenswürdige Inputs.
Stand: 06. Mai 2026 - zuletzt aktualisiert
Autor: Mika Schmidt (IT-Security Experte) – Six Eight Consulting, Fokus: Analyse, IAM, Security Engineering.
Gemini CLI und die GitHub Action
run-gemini-cli hatten eine der heikelsten Schwachstellen, die wir
bisher bei AI-Coding-Agenten gesehen haben: In bestimmten CI/CD-Setups konnte
ein externer Angreifer aus untrusted Inhalt heraus
Remote Code Execution auf dem Runner erreichen. Google behandelt
den Fall unter GHSA-wpqr-6v78-jr5g; die Advisory bewertet
das Risiko mit CVSS 10.0 Critical.
[Advisory]
[News]
Wichtig für die Einordnung: Das ist kein klassischer "das Modell hat halluziniert"-Vorfall. Die Schwachstelle lag im Trust-Modell rund um agentische Automatisierung: Welche Dateien darf ein Agent laden? Welche Tools darf er ausführen? Welche Tokens liegen im Runner? Und darf ein öffentliches GitHub Issue faktisch einen Agenten mit Shell-Zugriff fernsteuern? Genau diese Kombination machte den Fall zum Supply-Chain-Risiko. [Research] [Analysis]
Keine Entwarnung durch fehlende CVE
Nach aktuellem Stand vom 6. Mai 2026 ist in der GitHub Advisory kein CVE-Identifier eingetragen. Für die Priorisierung ist das zweitrangig: Der offizielle GitHub-Eintrag nennt CVSS 10.0, Netzwerk-Angriffsvektor, keine benötigten Privilegien und keine User Interaction.
Was ist passiert?
Hackread fasst den jüngsten Forschungsstand so zusammen: Pillar Security
zeigte, dass ein Angreifer über ein öffentliches GitHub Issue eine
Gemini-gestützte Triage-Automation beeinflussen konnte. Das Issue war
untrusted Input, wurde aber vom Agenten gelesen und verarbeitet. In der
betroffenen Konfiguration lief Gemini CLI im --yolo-Modus, also
mit automatischer Freigabe von Tool-Aufrufen.
[News]
[Research]
Pillar nennt diese Angriffsklasse TrustIssues. Der Pfad war
nicht nur "Prompt Injection führt zu einem falschen Label", sondern konnte
in der PoC-Kette bis zur Übernahme des
google-gemini/gemini-cli-Repositorys eskalieren. Der Grund: Der
Agent konnte sensible Runner-Daten lesen, der Workflow hatte nutzbare
GitHub-Berechtigungen, und Credentials waren trotz gut gemeinter
Environment-Isolation noch über den Workspace erreichbar.
[Research]
Parallel beschreibt Novee Security die zweite zentrale Ursache: In älteren
Versionen vertraute Gemini CLI in Headless-/CI-Umgebungen Workspace-Ordnern
automatisch. Dadurch konnten lokale Konfigurationen, etwa in .gemini/ oder .env, geladen werden, bevor ein Mensch das Projekt als
vertrauenswürdig bestätigt. Bei untrusted Pull Requests ist genau das ein
RCE-Designfehler.
[Research]
[Advisory]
Betroffene Versionen und Patches
Die offiziellen Fixes sind seit dem 24. April 2026 verfügbar. Laut Advisory sind folgende Versionen relevant: [Advisory] [Release]
- Betroffen:
@google/gemini-clivor0.39.1. - Betroffen:
@google/gemini-cliin der 0.40-Preview vor0.40.0-preview.3. - Betroffen:
google-github-actions/run-gemini-clivor0.1.22. - Gepatcht:
@google/gemini-cli 0.39.1,@google/gemini-cli 0.40.0-preview.3undrun-gemini-cli 0.1.22.
Besonders leicht zu übersehen sind gepinnte Versionen. Die GitHub Action
kann zwar standardmäßig die aktuelle Gemini-CLI-Version beziehen, aber
Workflows mit explizitem gemini_cli_version bleiben auf der gewählten
Version stehen. Genau solche Pins sollten jetzt aktiv gesucht und bewertet werden.
[Advisory]
[Docs]
Die TrustIssues-Angriffskette
Die Pillar-Kette ist deshalb lehrreich, weil sie zeigt, wie ein scheinbar harmloser Automations-Use-Case kippt. Ein Repository will Issues automatisch labeln. Ein externer Nutzer öffnet ein Issue. Der AI-Agent liest den Text, darf Shell- oder GitHub-CLI-Werkzeuge nutzen und schreibt anschließend ein Label oder eine Antwort. Das klingt nach Produktivität; sicherheitlich ist es aber ein Agent mit Zugriff auf untrusted Text, Runner-Dateisystem und Kommunikationskanäle. [Research]
In der konkreten Analyse war ein wichtiger Punkt, dass der
GITHUB_TOKEN nicht an den Gemini-Schritt übergeben wurde. Diese Maßnahme
war sinnvoll, aber unvollständig. actions/checkout
speichert Credentials standardmäßig im Git-Remote des ausgecheckten Repositorys,
sofern persist-credentials nicht deaktiviert ist. Ein Agent mit Dateizugriff
konnte dadurch trotzdem an nutzbare Tokens kommen.
[Research]
Danach wurde es zum Berechtigungsproblem: Ein Token mit
actions: write kann andere Workflows starten. Wenn ein nachgelagerter
Workflow großzügigere Rechte wie contents: write
besitzt und vom Angreifer kontrollierte Refs verarbeitet, entsteht aus einem Issue-Triage-Agenten
eine realistische Supply-Chain-Kette. Genau das ist der Punkt: Nicht der erste
Token ist entscheidend, sondern der Weg zu einem mächtigeren Token.
[Research]
Workspace Trust im Headless-Modus
Der zweite Teil der Advisory betrifft die Frage, ob ein Projektordner als vertrauenswürdig gilt. Interaktive Developer-Tools können Nutzer fragen: "Vertraust du diesem Workspace?" In Headless-Umgebungen gibt es keinen Klick. Ältere Gemini-CLI-Versionen lösten das zu bequem und vertrauten CI-Workspaces automatisch für Konfigurations- und Environment-Ladevorgänge. [Advisory] [Research]
Die gepatchte Logik zieht Headless-Verhalten näher an das interaktive
Sicherheitsmodell heran: Ohne explizite Vertrauensentscheidung werden
Workspace Settings, lokale .env-Dateien und riskante
Automatisierungsfunktionen eingeschränkt. Die Trusted-Folders-Dokumentation
beschreibt diesen Safe Mode als Schutz vor gefährlichen lokalen
Projektkonfigurationen.
[Docs]
Warum --yolo besonders gefährlich war
--yolo ist für Automatisierung verlockend, weil der Agent nicht bei
jedem Tool-Aufruf auf menschliche Zustimmung wartet. In der verwundbaren Variante
ignorierte dieser Modus jedoch feingranulare Tool-Allowlisten. Ein Workflow konnte
also scheinbar nur
run_shell_command(echo) erlauben, während --yolo
praktisch beliebige Shell-Kommandos freigab.
[Research]
[Advisory]
Der Patch erzwingt Tool-Allowlisting nun auch unter --yolo. Das
ist wichtig, aber keine Einladung, untrusted Inhalte mit breiten
Shell-Rechten zu verarbeiten. Eine Allowlist ist nur so gut wie ihre
Einträge: Wer cat, curl, bash oder zu breite
Shell-Patterns erlaubt, schafft weiterhin Exfiltrations- und Ausführungspfade.
[Research]
Sofortmaßnahmen für Teams
Wer Gemini CLI oder run-gemini-cli in GitHub Actions nutzt, sollte
nicht nur updaten, sondern das gesamte Agenten-Setup als privilegierten Codepfad
behandeln. Die folgende Checkliste ist bewusst pragmatisch formuliert:
- Versionen aktualisieren: mindestens
@google/gemini-cli 0.39.1oder0.40.0-preview.3undrun-gemini-cli 0.1.22. - Pins prüfen: alle Workflows mit
gemini_cli_versiongegen die Patch-Stände abgleichen. - Untrusted Inputs trennen: Issues, PRs, Kommentare und Forks nicht mit denselben Rechten verarbeiten wie interne Events.
- Kein blindes --yolo: für öffentliche oder externe Inhalte keine automatische Tool-Freigabe ohne harte Grenzen.
- Checkout härten: bei untrusted Runs
persist-credentials: falsesetzen. - Token minimieren:
permissionspro Workflow explizit und eng setzen;actions: writeundcontents: writenur dort, wo sie wirklich nötig sind. - Workspace Trust bewusst setzen:
GEMINI_TRUST_WORKSPACE: "true"nur für vertrauenswürdige Inhalte verwenden. - Secrets isolieren: keine produktiven Tokens in Jobs, die von externem Text oder fremden Branches beeinflusst werden können.
# Schnellcheck im Repository: Wo tauchen Gemini CLI und riskante Modi auf?
rg "run-gemini-cli|@google/gemini-cli|gemini_cli_version|--yolo|GEMINI_TRUST_WORKSPACE" .github package.json package-lock.json pnpm-lock.yaml yarn.lock # Beispiel für untrusted Workflows: Credentials nicht in .git/config persistieren
- uses: actions/checkout@v4
with:
persist-credentials: false
# Beispiel für bewusstes Workspace-Trusting nur bei vertrauenswürdigen Inputs
env:
GEMINI_TRUST_WORKSPACE: "true" Welche Umgebungen zuerst prüfen?
Die höchste Priorität haben Workflows, bei denen ein externer Nutzer den
Input des Agenten beeinflussen kann. Dazu gehören Issue-Triage,
Pull-Request-Reviews, Kommentar-Trigger wie @gemini-cli,
Verarbeitung von Forks und alle Jobs, die Repository-Inhalte aus fremden
Branches analysieren. Je mehr Secrets, OIDC-Rechte und GitHub-Token-Rechte
im selben Job verfügbar sind, desto höher ist die Dringlichkeit.
[Advisory]
[Docs]
Niedriger, aber nicht irrelevant, sind rein interne Workflows mit Gemini CLI. Auch dort sollten Tool-Allowlists, Workspace Trust und Token-Rechte sauber dokumentiert sein. Interne Angreifer, kompromittierte Developer Accounts oder kompromittierte Dependencies können dieselben Designfehler ausnutzen, nur mit einem anderen Startpunkt.
Incident Response: Was nachträglich prüfen?
Wenn vor dem Patch Gemini-Workflows mit öffentlichen Issues, Pull Requests oder Kommentaren liefen, lohnt sich ein rückblickender Blick in die GitHub-Actions-Historie. Suchen Sie nach ungewöhnlichen Workflow-Dispatches, verdächtigen Ausgaben, unerwarteten Token- oder OIDC-Nutzungen, Repository-Schreibzugriffen und nach Runs, die länger offen gehalten wurden als normal. Bei Verdacht sollten erreichbare Secrets rotiert werden.
Wichtig ist dabei, nicht nur den Gemini-Workflow isoliert zu betrachten. Pillars Analyse zeigt gerade den Pivot über andere Workflows. Prüfen Sie also auch Jobs, die vom betroffenen Token aus gestartet werden konnten und höhere Rechte hatten. In GitHub Actions ist der zweite Workflow oft der eigentliche Schadenverstärker. [Research]
Kurzantwort für Entscheider
Die Gemini-CLI-Schwachstelle GHSA-wpqr-6v78-jr5g ist ein CVSS-10-Risiko für Unternehmen, die AI-Agenten in CI/CD einsetzen. Die technische Ursache liegt in Workspace Trust, Tool-Allowlisting und überprivilegierten GitHub-Actions-Workflows. Gepatchte Versionen sind verfügbar; das größere Thema bleibt aber die Governance von AI-Agenten, die untrusted Input lesen und gleichzeitig Tools, Secrets oder Schreibrechte besitzen.
Für Security-Teams ist das ein guter Anlass, AI-Coding-Agenten nicht mehr als "nur Chatbot im Build-Log" zu behandeln. Sobald ein Agent Shell, Repository, Cloud- oder GitHub-CLI-Zugriff hat, gehört er in Threat Models, Least-Privilege-Prüfungen, Secret-Reviews und Incident-Response-Playbooks.
FAQ
Welche Gemini-CLI-Versionen sind betroffen?
Laut GitHub Security Advisory sind @google/gemini-cli vor 0.39.1, die 0.40-Preview vor 0.40.0-preview.3 und google-github-actions/run-gemini-cli vor 0.1.22 betroffen.
Gibt es für die Gemini-CLI-Schwachstelle eine CVE?
Nach dem Stand vom 6. Mai 2026 ist in der GitHub Advisory GHSA-wpqr-6v78-jr5g kein CVE-Identifier eingetragen. Die Severity ist dennoch Critical mit CVSS 10.0.
Ist die Gemini-CLI-RCE nur ein Prompt-Injection-Problem?
Nein. Die Advisory umfasst zwei Risikoklassen: Workspace Trust im Headless-Modus und Tool-Allowlisting unter --yolo. Pillar beschreibt eine Prompt-Injection-Kette über GitHub Issues; Novee beschreibt zusätzlich eine Infrastruktur-RCE über untrusted Workspace-Konfiguration.
Sind lokale Gemini-CLI-Nutzer betroffen?
Das kritischste Szenario betrifft Headless- und CI/CD-Workflows. Lokale Nutzung bleibt riskant, wenn unbekannte Repositories oder Projektkonfigurationen vertraut werden und die CLI Shell- oder Netzwerkzugriff erhält. Die neue Trusted-Folders-Logik soll genau dieses Risiko sichtbarer machen.
Was ist die wichtigste Sofortmaßnahme?
Gepatchte Versionen einsetzen, gepinnte gemini_cli_version-Werte prüfen und Workflows auf untrusted Inputs absichern: kein --yolo für fremde Inhalte, minimale Token-Rechte, persist-credentials: false und GEMINI_TRUST_WORKSPACE nur für vertrauenswürdige Workspaces.
Quellen & weiterführende Links
Google Fixes CVSS 10 Gemini CLI Vulnerability Enabling GitHub Issue-Based RCE
Hackread / Deeba Ahmed, 6. Mai 2026 - Überblick zu GitHub-Issue-basierter RCE, TrustIssues und Patch-Versionen
My Agentic Trust Issues: From Prompt Injection to Supply-Chain Compromise on gemini-cli
Pillar Security / Dan Lisichkin, 5. Mai 2026 - technische Analyse der TrustIssues-Angriffskette und Disclosure Timeline
Update to Gemini CLI and run-gemini-cli Trust Model
GitHub Security Advisory GHSA-wpqr-6v78-jr5g, veröffentlicht am 24. April 2026 - CVSS 10.0, betroffene und gepatchte Versionen
Update to Gemini CLI and run-gemini-cli Trust Model
Novee Security / Elad Meged, veröffentlicht am 23. April 2026 - Workspace Trust, Headless Mode und Tool-Allowlisting
A CVSS 10.0 in Gemini CLI: How Agentic Workflows Are Reshaping Supply Chain Risk
Novee Security, 29. April 2026 - Einordnung der RCE als CI/CD- und Supply-Chain-Risiko
Gemini CLI Release v0.39.1
google-gemini/gemini-cli, Release vom 24. April 2026
google-github-actions/run-gemini-cli
Offizielle GitHub Action für Gemini CLI, Workflows, Inputs, Secrets und Best-Practice-Hinweise
Trusted Folders - Gemini CLI
Gemini CLI Dokumentation zu Trusted Folders, untrusted Workspaces und Safe Mode
Stand: 6.5.2026
Dieser Artikel wird bei neuen Entwicklungen aktualisiert.
Sie möchten diese Schritte auf Ihr Unternehmen übertragen?
In einem kurzen Gespräch klären wir, welche Maßnahmen für Sie konkret sinnvoll sind – ohne Over-Engineering. Weitere Artikel finden Sie im Blog-Archiv.