Executive brief
Open WebUI, a user interface for interacting with large language models, is vulnerable to a security flaw in its audio transcription feature. An attacker can upload a specially crafted file that, when opened by another user, allows the attacker to steal session tokens and take over their account, including administrative accounts. This could lead to unauthorized access to sensitive data or full control over the application.
Technical details
A stored cross-site scripting (XSS) vulnerability exists in Open WebUI's audio transcription upload endpoint (`/api/v1/audio/transcriptions`). The application extracts the file extension from the user-supplied filename without validation and uses it to determine the `Content-Type` when serving the file from the cache. An authenticated attacker can upload a polyglot file (e.g., WAV+HTML) with an `.html` extension. When a victim navigates to the cached file URL, the server responds with `text/html` and no `Content-Disposition: attachment` header, causing the browser to execute embedded JavaScript. This can be used to steal JWTs from `localStorage` or non-HttpOnly cookies, leading to account takeover. The vulnerability is patched in version 0.9.3.
Affected products
- Open WebUI open-webui <= 0.9.2
Timeline
- 2026-05-09: disclosed
- 2026-05-14: advisory
- 2026-05-14: patched: Fixed in version 0.9.3