„`html
Zusammenfassung
Open WebUI vor Version 0.9.5 weist eine Stored Cross-Site-Scripting (XSS) Schwachstelle im OAuth-Authentifizierungsfluss auf. Die Vulnerabilität ermöglicht es Angreifern, bösartige SVG-Dateien als Profilbilder einzuschleusen und dadurch Authentifizierungstoken zu stehlen sowie Account-Übernahmen durchzuführen.
Betroffene Systeme
Open WebUI Versionen vor 0.9.5 sind anfällig. Die Schwachstelle betrifft alle Installationen, die OAuth-basierte Authentifizierung mit Profilbildfunktionalität nutzen.
Technische Details
Die Vulnerabilität liegt in der fehlerhaften Validierung von Profilbildern während des OAuth-Flows. Das System bestimmt den MIME-Type basierend auf der Dateiendung statt dem Content-Type-Header. Dadurch können SVG-Dateien die Validierung umgehen und als Data-URIs gespeichert werden.
Wenn authentifizierte Benutzer auf den Profilbild-Endpoint zugreifen, erhalten sie attacker-kontrollierte SVG-Inhalte mit Inline-Disposition und ohne erforderliche Security-Header. Dies ermöglicht JavaScript-Ausführung im gleichen Origin, wodurch:
- Authentifizierungstoken gestohlen werden können
- Session-Hijacking möglich ist
- Vollständige Account-Übernahme droht
Angriffsvektor: Netzwerkbasiert. Der Angreifer benötigt Authentifizierung, um eine manipulierte SVG-Datei hochzuladen. Nachfolgende Besucher des Profils sind automatisch gefährdet.
Empfohlene Massnahmen
Sofortige MaĂźnahmen:
- Aktualisierung auf Open WebUI Version 0.9.5 oder höher durchführen
- Validierung von Profilbildern auf Server-Seite implementieren
- Content-Type-Header ĂĽberprĂĽfen statt Dateiendungen zu vertrauen
- SVG-Uploads einschränken oder vollständig deaktivieren
- Security-Header (Content-Security-Policy, X-Content-Type-Options) konfigurieren
Langfristig: Code-Review des gesamten File-Upload-Mechanismus durchfĂĽhren und strikte MIME-Type-Validierung implementieren.
Bewertung
CVSS v3.1: 7.3 (High) | CVE-ID: CVE-2026-56398
Die Schwachstelle wird als High-Risiko klassifiziert aufgrund des Potenzials fĂĽr Account-Ăśbernahmen und Token-Diebstahl. Ein Patch ist verfĂĽgbar und sollte unverzĂĽglich eingespielt werden.
„`