flawopen.com/Incidents/openai-community-forum-heif-sso-chain-september-2026
Vom OpenAI-Forum zum SSO: CVE-2026-32882
Hacktron berichtet von einer Kette aus einem Out-of-bounds-Read in der libheif-Alphaplane über die Bildverarbeitung von Discourse und einem separaten OpenAI-SSO-Fehler. CVE-2026-32882 ist upstream mit libheif 1.22.0 behoben; die Forschenden geben an, nach einem harmlosen Pull Request zum Zugriffsnachweis gestoppt zu haben.[4], [1], [2]
Stell dir zwei transparente Folien vor: Auf der einen ist die Reihe farbiger Kästchen breit, auf der anderen ist die Reihe der Transparenzwerte schmaler. Der Decoder nutzte die Zeilenlänge der Farbfolie, um den nächsten Transparenzwert zu finden. Mit jeder Zeile wanderte der Lesezugriff weiter über die kleine Folie hinaus. Der Fix verwendet die eigene Zeilenlänge der Transparenzfolie.[1]
Kernkonzepte & Begriffe
HEIF / HEIC- Ein Bildcontainerformat. Eine HEIF-Datei kann abgeleitete Bilder, Overlays sowie getrennte Farb- und Alphaplanes enthalten, die der Decoder innerhalb ihrer jeweiligen Grenzen halten muss.[1]
libheif- Die native Bibliothek zum Decodieren und Encodieren von HEIF- und AVIF-Bildern. Der Discourse-Hinweis verknüpft den Verarbeitungspfad für Bild-Uploads mit
CVE-2026-32882.[1], [2] Stride- Die Zahl der Bytes zwischen dem Anfang einer Bildplane-Zeile und dem Anfang der nächsten. Unterschiedliche Bittiefen können den Farb- und Alphaplanes unterschiedliche Strides geben.[1]
CWE-125- Out-of-bounds-Read: Software liest über den für einen Puffer reservierten Speicherbereich hinaus. Hier wurde die Adresse der Alphaplane mit dem Stride der Farbplane berechnet.[1]
SSO-Vertrauensgrenze- Die Identitätsbeziehung zwischen einem Anmeldedienst und einer Anwendung. Hacktron zufolge vergrößerte die SSO-Beziehung des OpenAI-Forums die Auswirkungen des separaten Forum-Zugriffs; der öffentliche Bericht nennt weder den genauen SSO-Fehler noch den Patch.[4]
Framework-Zuordnungen
- CWE-Referenz für die in diesem Leitfaden beschriebene Schwachstelle: CWE-125
Vorfall-Zeitstrahl
Der libheif-Maintainer veröffentlicht GHSA-hg7q-rjr2-8x46, ordnet CVE-2026-32882 zu und nennt libheif 1.22.0 als behoben.[1]
Hacktron zufolge erreichten die Forschenden das OpenAI-Forum über den Discourse-Bildpfad, meldeten den OpenAI-seitigen SSO-Fehler und beendeten die Tests nach einem harmlosen Pull Request als Zugriffsnachweis.[4]
Discourse veröffentlicht GHSA-vhm9-85gw-x335, nennt korrigierte Discourse-Versionen und empfiehlt den Neuaufbau selbstverwalteter Installationen.[2]
Hacktron veröffentlicht den Bericht zur koordinierten Offenlegung. Darin heißt es, OpenAI habe den SSO-Fix bestätigt; die Prämie habe den OpenAI-seitigen Fund anerkannt und nicht die Tests am von Discourse gehosteten Forum.[4]
Schritt-für-Schritt Angriffsablauf
Das Layout der Farbplane wird für Alpha wiederverwendet
In HeifPixelImage::overlay() erhöht der verwundbare Code alpha_p um y * in_stride, obwohl alpha_stride für diese Plane ermittelt wurde. Haben Alpha und Farbe unterschiedliche Bittiefen, unterscheiden sich ihre Zeilengrößen und der Lesezugriff kann über die Alphaplane-Allokation hinausgehen. Der Upstream-Hinweis ordnet den Fehler CWE-125 zu.[1]
Die Auswirkung downstream hängt vom Hostpfad ab
Der libheif-Hinweis beschreibt einen Absturz oder eine mögliche Offenlegung über decodierte Pixel. Der separate Discourse-Hinweis beschreibt Remote-Codeausführung über den Uploadpfad und bewertet das Discourse-Problem mit CVSS 8.8. Diese Produktbewertung und Auswirkung darf nicht mit CVSS 7.1 und dem Read-Fehler der CVE gleichgesetzt werden.[1], [2]
Ein separater SSO-Fehler erweiterte die gemeldete Kette
Hacktron zufolge ermöglichte der Forum-Zugriff über ein OpenAI-SSO-Problem Zugriff auf ChatGPT-/Codex-Konten von Beschäftigten; ein harmloser Pull Request belegte den Zugriff auf das verbundene Repository. Die öffentlichen Quellen zeigen weder den SSO-Codefehler noch die konkreten Kontorechte oder einen übertragbaren SSO-Fix.[4]
Begrenze Belege und Aussagen
Hacktron gibt an, die Tests nach dem Pull Request als Zugriffsnachweis beendet zu haben. Der Bericht beschreibt eine kontrollierte Offenlegung durch Forschende, keinen böswilligen Vorfall und keinen Beleg für den Abfluss von Kundendaten. Laut den Forschenden deckte die OpenAI-Prämie außerdem den SSO-Fund bei OpenAI ab und schloss Tests am von Discourse gehosteten Forum aus.[4]
Quellcode: Verwundbar vs. Sicher
Dies ist ein gezielter Ausschnitt, kein eigenständiger Decoder und keine wörtliche Wiedergabe des vollständigen Patches. Der Maintainer-Hinweis nennt den verwundbaren Ausdruck und bestätigt libheif 1.22.0 als behoben. Jede Plane muss mit ihrem eigenen Stride indiziert werden; die Wiederverwendung des Farb-Strides lässt den Alpha-Lesezugriff bei unterschiedlichen Bittiefen zu weit springen. Halte im Hostsystem auch die Decoder aktuell und isoliere die Konvertierung nicht vertrauenswürdiger Uploads.[1], [3]
// Vereinfachter Ausschnitt des beschriebenen Zugriffsmusters.
// alpha_stride war verfügbar, aber es wurde der Farb-Stride verwendet.
uint8_t alpha_value = alpha_p[in_x0 + y * in_stride + x];// Das Zeilenlayout der Alphaplane verwenden.
// Die Korrektur im Upstream ist in libheif 1.22.0 enthalten.
uint8_t alpha_value = alpha_p[in_x0 + y * alpha_stride + x];Checkliste für Engineering & Systemsicherheit
- ✓Aktualisiere selbstverwaltetes Discourse auf eine in GHSA-vhm9-85gw-x335 aufgeführte korrigierte Version und baue das Anwendungsimage neu; ein Update nur über die Weboberfläche belegt keine Änderung des nativen libheif-Pakets.[2], [4]
- ✓Ermittle die tatsächlich in jedem Bildverarbeitungscontainer enthaltene libheif-Version und prüfe Backports der Distribution; die Upstream-Versionsnummer allein kann den Patchstatus eines Distributionspakets falsch darstellen.[6], [4]
- ✓Verwende beim Indizieren einer Bildplane deren eigenen Stride und ihre Abmessungen. Ergänze Regressionstests mit Alpha- und Farbplanes unterschiedlicher Bittiefen und Strides.[1], [3]
- ✓Führe die HEIF/AVIF-Konvertierung nicht vertrauenswürdiger Uploads in einem eingeschränkten, kurzlebigen Worker aus: minimaler Dateisystemzugriff, keine Umgebungs-Credentials sowie begrenzte CPU- und Speichernutzung.[2]
- ✓Prüfe SSO-Vertrauensbeziehungen getrennt vom Parser-Fix: validiere Issuer, Audience, Redirect-URI, Kontoverknüpfung und Session-Bindung; widerrufe Sessions, falls die Identitätsgrenze überschritten worden sein könnte.[4]
- ✓Stelle weder die OpenAI-SSO-Implementierung noch ihren genauen Patch als bekannt dar; der öffentliche Bericht enthält die Darstellung der Forschenden, aber nicht den Codefehler oder die Codekorrektur.[4]