FlawOpen

flawopen.com/Incidents/openai-community-forum-heif-sso-chain-september-2026

● OpenAI / Discourse / libheif · CVE-2026-32882 · 2026-07-25 · CVSS 7.1 · Hoch
Sicherheitsforschung · FlawOpen

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]

💡 Einfache Erklärung (ELI5)

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

2026-05-19

Der libheif-Maintainer veröffentlicht GHSA-hg7q-rjr2-8x46, ordnet CVE-2026-32882 zu und nennt libheif 1.22.0 als behoben.[1]

2026-07-25

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]

2026-07-28

Discourse veröffentlicht GHSA-vhm9-85gw-x335, nennt korrigierte Discourse-Versionen und empfiehlt den Neuaufbau selbstverwalteter Installationen.[2]

2026-09-13

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

Schritt 1

Ein hochgeladenes Bild erreicht einen nativen Decoder

Hacktron berichtet, dass Discourse HEIF/HEIC-Dateien über ImageMagick an libheif weitergab, weil der reguläre Bildprüfpfad dieses Format nicht verarbeitete.[4], [2]

Schritt 2

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]

Schritt 3

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]

Schritt 4

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]

Schritt 5

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]

VERWUNDBARE IMPLEMENTIERUNG
// 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];
GEHÄRTETER SICHERHEITS-PATCH
// 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

Quellen