3 Punkte von GN⁺ 2026-01-13 | Noch keine Kommentare. | Auf WhatsApp teilen
  • In älteren Versionen von OpenCode wurde eine schwerwiegende Remote-Code-Execution-Schwachstelle entdeckt, die die Ausführung beliebigen Codes ohne Authentifizierung ermöglicht.
  • Versionen vor v1.1.10 starten automatisch einen HTTP-Server, der ohne Authentifizierung die Ausführung beliebiger Befehle, das Lesen von Dateien und das Erstellen von Terminal-Sitzungen erlaubt.
  • Vor v1.0.216 konnte bereits durch den Besuch einer Website Code in der lokalen Umgebung des Nutzers ausgeführt werden.
  • In der aktuellen Version (v1.1.10) ist der Server standardmäßig deaktiviert, aber bei Aktivierung weiterhin ohne Authentifizierung.
  • Die Schwachstelle wurde als CVE-2026-22812 registriert; Entwickler und Nutzer sollten sofort aktualisieren und ihre Einstellungen prüfen.

Überblick über die Schwachstelle

  • OpenCode ist ein Open-Source-AI-Coding-Assistent und startete vor v1.1.10 beim Ausführen automatisch einen HTTP-Server (Standardport 4096+).
    • Der Server stellt Endpunkte wie POST /session/:id/shell, POST /pty, GET /file/content bereit.
    • Da es keine Authentifizierung gibt, kann jeder erreichbare Client Code mit den Rechten des Nutzers ausführen.
  • Beim Start des Servers gibt es keine visuelle Anzeige für den Nutzer, wodurch eine Exponierung schwer erkennbar ist.
  • Die CORS-Richtlinie ist fest auf *.opencode.ai kodiert, sodass Seiten, die von opencode.ai oder einer Subdomain ausgeliefert werden, auf die Server-API zugreifen können.
    • Wird diese Domain kompromittiert oder existiert dort eine XSS-Schwachstelle, können alle Nutzer mit aktiviertem Server angegriffen werden.

Angriffsvektoren

  • Vor v1.0.216: Beliebige Websites konnten auf der lokalen Maschine von Nutzern mit laufendem OpenCode Code ausführen.
  • Vor v1.1.10: Lokale Prozesse oder localhost-Seiten konnten ohne Authentifizierung Code ausführen.
  • In allen Versionen bei aktiviertem Server:
    • Lokale Prozesse und localhost-Seiten können ohne Authentifizierung Code ausführen.
    • Mit dem Flag --mdns können alle Geräte im lokalen Netzwerk zugreifen.
    • Es gibt keine Anzeige dafür, ob der Server läuft, sodass Nutzer ihre Exponierung nicht erkennen.
    • Über die Domain opencode.ai oder deren Subdomains kann Code ausgeführt werden.

Angriffsbeispiele (Proof of Concept)

  • Lokaler Angriff: Wenn der Server läuft, kann ein lokaler Prozess per curl eine Sitzung erstellen und anschließend den Befehl id > /tmp/pwned.txt ausführen.
  • Browserbasierter Angriff (vor v1.0.216): Eine Webseite kann per fetch Anweisungen an den lokalen Server senden und Remote-Skripte herunterladen und ausführen.
    • Das Verhalten wurde unter Firefox bestätigt; Chrome kann wegen des Schutzes vor Zugriffen auf das lokale Netzwerk einen Bestätigungsdialog anzeigen.

Maßnahmen für Nutzer

  • Mit opencode --version die Version prüfen und auf v1.1.10 oder höher aktualisieren.
  • In der Konfigurationsdatei prüfen, ob server.port oder server.hostname aktiviert ist.
  • Das Flag --mdns nicht verwenden (bindet an 0.0.0.0 und legt den Dienst im gesamten Netzwerk offen).
  • Wenn der Server zwingend benötigt wird, opencode.ai und dessen Subdomains nicht aufrufen.
  • Nutzer sollten sich bewusst sein, dass lokale Prozesse bei aktiviertem Server ohne Authentifizierung zugreifen können.

Zeitplan der Offenlegung

  • 2025-11-17: Erstmeldung per E-Mail, keine Antwort
  • 2025-12-27: GitHub Security Advisory eingereicht, keine Antwort
  • 2025-12-29: Öffentliche Meldung durch einen anderen Nutzer
  • 2025-12-30: CORS-Beschränkung in v1.0.216 eingeführt
  • 2026-01-09: Server standardmäßig deaktiviert in v1.1.10
  • 2026-01-11: Vollständige Offenlegung

Empfohlene Maßnahmen

  • CORS auf ein Minimum an Domains beschränken (umgesetzt in v1.0.216)
  • Server standardmäßig deaktivieren (umgesetzt in v1.1.10)
  • Authentifizierung für alle Serveranfragen hinzufügen
  • Nutzern beim Start des Servers eine klare Anzeige geben
  • In der Dokumentation klar angeben, dass die Option --mdns an 0.0.0.0 bindet
  • TLS für Netzwerkkommunikation einsetzen
  • GitHub Security Advisory und CVE-2026-22812 offiziell veröffentlichen
  • Monitoring für Sicherheitsmeldungen per E-Mail und GHSA-Benachrichtigungen verbessern
  • Die Vertrauensbeziehung zwischen OpenCode-Maintainern, opencode.ai und Nutzern klarstellen

Referenz

  • CVE: CVE-2026-22812
  • Betroffenes Paket: npm opencode-ai
  • Aktuelle Informationen und Kontakt: cy.md

Noch keine Kommentare.

Noch keine Kommentare.