Sicherheit & Datenschutz

ChatGPT-Teilungslinks ermöglichten Codeausführung in Benutzersitzungen

Forscher entdeckten eine Schwachstelle in ChatGPT-Teilungslinks, die Angreifern das Ausführen von Code und den Zugriff auf private Chats erlaubte. OpenAI behob den Fehler innerhalb von acht Tagen.

Illustration eines Sicherheitsverstoßes in einer Chat-Schnittstelle
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Sicherheitsforscher bei Parameter entdeckten eine kritische Schwachstelle in ChatGPT, die es ermöglichte, bösartigen Code innerhalb der angemeldeten Sitzung eines Opfers über einen geteilten Konversationslink auszuführen. Der am 18. Oktober 2026 gemeldete Fehler erlaubte es Angreifern, auf private Chats zuzugreifen und Aktionen im Namen des Nutzers durchzuführen. OpenAI stufte das Problem als P1-Schweregrad ein und stellte bis zum 26. Oktober eine Korrektur bereit.

Was passiert ist

Der Angriffsvektor basierte auf der Standardfunktion von ChatGPT, die Nutzern das Teilen von Konversationen über öffentliche Links erlaubt. Ein Angreifer konnte eine spezifische Konversation mit schädlichen Elementen erstellen und diese per E-Mail, Social Media oder Support-Tickets teilen. Wenn ein Opfer diesen Link öffnete, musste es keine Software installieren oder sich erneut anmelden; der Exploit zielte auf die bestehende authentifizierte Sitzung ab. Im ersten Proof of Concept musste das Opfer einmal auf die Schaltfläche „Vorschau“ klicken. Eine verfeinerte Version automatisierte diesen Schritt, sodass es ausreichte, wenn das Opfer den Link einfach nur öffnete.

Nach dem Auslösen führte der Code des Angreifers mit denselben Berechtigungen wie die legitime ChatGPT-Oberfläche. Dies ermöglichte es dem schädlichen Skript, direkt angemeldete APIs aufzurufen, kürzliche Konversationen aufzulisten und private Chats zu öffnen, die nie geteilt worden waren. Die Forscher demonstrierten, dass sie Teile dieser privaten Diskussionen an einen externen Server exfiltrieren konnten. Da der Code im vollen Webzugriffskontext des Opfers operierte, gingen seine Fähigkeiten über das bloße Lesen des Chatverlaufs hinaus und umfassten jede Aktion, die der Kontoinhaber durchführen konnte.

Parameter führte diese Arbeit als kontrollierten Test zwischen separaten Konten durch und meldete keine Hinweise auf reale Ausnutzungen. Sie reichten ihre Erkenntnisse über das Bug-Bounty-Programm von OpenAI ein. OpenAI bewertete die Schwere zunächst als P2, stufte sie jedoch nach der Reproduktion des Exploits auf P1 hoch. Das Unternehmen zahlte insgesamt 5.000 USD für den Bericht und rollte Korrekturen für zwei Versionen seines Web-Frontends aus.

Wie es funktioniert

Die Schwachstelle entstand durch das Zusammenspiel dreier unterschiedlicher Funktionen: der Vorschau-Sandbox, der MathLive-Bibliothek und Cross-Frame-Messaging. ChatGPT nutzt einen isolierten Frame (Sandbox) auf einer separaten Domain, um HTML-Vorschauen darzustellen, was verhindert, dass diese auf den Hauptanwendungsstatus zugreifen können. Diese Isolation war für sich genommen wirksam. Allerdings enthielt der geteilte Chat auch ein interaktives Diagramm, das MathLive, eine Mathematik-Bibliothek, auf der Hauptseite lud.

MathLive enthält einen Listener für Nachrichten bezüglich seiner On-Screen-Tastatur. Parameter fand heraus, dass dieser Listener Nachrichten von jedem Absender akzeptierte, ohne die Herkunft der Quelle zu überprüfen. Entscheidend war, dass diese Nachrichten rohe HTML-Daten enthalten durften, die für die Anpassung des Tastaturlayouts gedacht waren. Der bösartige Vorschau-Frame nutzte dies aus, indem er eine präparierte Nachricht mit angreiferkontrolliertem HTML an den MathLive-Listener auf der Hauptseite sendete.

Dieses HTML erstellte einen neuen Frame, den der Browser als Teil der vertrauenswürdigen Domain chatgpt.com behandelte und so die Sandbox umging. Um die finale Payload auszuführen, nutzten die Angreifer YouTube-Skripte, die in der Content Security Policy von ChatGPT auf der Whitelist standen. Während Inline-Code blockiert war, konnten Skripte von erlaubten Domains wie YouTube innerhalb dieses neu erstellten vertrauenswürdigen Frames ausgeführt werden, was dem Angreifer die volle Kontrolle über die Sitzung gab.

Wichtige Details

  • Die Schwachstelle wurde am 18. Oktober 2026 gemeldet und bis zum 26. Oktober 2026 behoben.
  • OpenAI stufte das Problem als P1 ein, die höchste Schweregradkategorie, nachdem es ursprünglich als P2 klassifiziert worden war.
  • Der Angriff erforderte keine Benutzerinstallation oder zusätzliche Login-Schritte über das Öffnen eines geteilten Links hinaus.
  • Die Ausnutzung basierte darauf, dass MathLive unverifizierte Cross-Frame-Nachrichten mit rohem HTML akzeptierte.
  • Angreifer nutzten whitelisted YouTube-Skripte, um Content Security Policies zu umgehen und Code auszuführen.
  • Parameter erhielt ein Bounty von 5.000 USD für die verantwortungsvolle Offenlegung des Fehlers.

Warum es wichtig ist

Dieser Vorfall unterstreicht die Risiken, die in komplexen Webanwendungen inherent sind, welche Drittanbieter-Bibliotheken und dynamisches Content-Rendering integrieren. Für Ingenieure, die KI-Schnittstellen entwickeln, betont er die Bedeutung strenger Validierung für Cross-Frame-Kommunikation. Selbst wenn Sandboxes korrekt implementiert sind, können Schwachstellen durch die Interaktion verschiedener Komponenten entstehen. Die Abhängigkeit von externen Bibliotheken wie MathLive führt zu Lieferkettenrisiken, die durch rigorose Eingabevalidierung und Herkunftsprüfung verwaltet werden müssen.

Für Produktteams zeigt die Geschwindigkeit der Reaktion von OpenAI den Wert robuster Bug-Bounty-Programme und klarer Incident-Response-Protokolle. Die Fähigkeit, eine P1-Schwachstelle innerhalb von acht Tagen zu erkennen, zu reproduzieren und zu patchen, minimiert potenzielle Schäden. Dennoch dient die Tatsache, dass der Fehler die vollständige Kompromittierung des Kontos ermöglichte, als Erinnerung daran, dass geteilte Funktionen nach dem Least-Privilege-Prinzip gestaltet werden müssen, um sicherzustellen, dass Vorschau-Modi keine Berechtigungen auf den Hauptanwendungskontext eskalieren können.

Was Sie tun können

  • Stellen Sie sicher, dass alle Cross-Frame-Nachrichten-Listener die Herkunft eingehender Nachrichten validieren.
  • Vermeiden Sie die Zulassung von roher HTML-Injektion über Nachrichten-Payloads, selbst für Konfigurationsdaten.
  • Überprüfen Sie Content Security Policies, um sicherzustellen, dass nur notwendige Domains für Skripte auf der Whitelist stehen.
  • Implementieren Sie strenge Sandboxing-Maßnahmen für alle Vorschauen benutzergenerierter Inhalte und interaktive Elemente.
  • Führen Sie regelmäßige Sicherheitsaudits durch, die sich auf die Interaktionen zwischen Drittanbieter-Bibliotheken und der Kernlogik der App konzentrieren.
  • Fördern Sie die verantwortungsvolle Offenlegung, indem Sie ein zugängliches Bug-Bounty-Programm für Ihre Produkte pflegen.
  • #web security
  • #chatgpt
  • #vulnerability
  • #ai safety
  • #bug bounty

Tools aus dem Bytechap-Shop

Weiterlesen

Alle Artikel