GHSA-5fw2-mwhh-9947: Flowise: Unauthenticated TTS endpoint accepts arbitrary credential IDs — enables API credit abuse via stored credentials
- Identifier
- GHSA-5fw2-mwhh-9947
- Published
- Record updated
- Affected
- flowise <= 3.0.13
- Fixed in
- 3.1.0
Summary
The text-to-speech generate endpoint in Flowise, POST /api/v1/text-to-speech/generate, is whitelisted and requires no authentication. When called without a chatflowId, it takes an attacker-supplied credentialId from the request body and uses the stored credential, such as an OpenAI or ElevenLabs API key, to generate speech. An unauthenticated attacker can therefore spend a victim's API credits, and the source says this is trivially exploitable when combined with a credential ID leak described in Finding 2.
Mitigation
The source suggests removing the TTS endpoint from WHITELIST_URLS, or validating that the credential belongs to the chatflow being used. It proposes returning a 401 'Authentication required' response when no chatflowId is provided.
Affected packages in the Exposure Registry
Matched by package name and ecosystem. Each entry shows whether the package delegates to a language model and how many tracked packages depend on it.
- flowisenpmLLM dependency since 2024-03-12
Related items
- MediumCVE-2026-109296: Open WebUI missing authorization lets users reach disabled model backendsSame vendor · NVD/CVE Database
- MediumCVE-2026-107430: VideoWhisper Site Manager for ChatGPT, Claude, Codex missing authorization checkSame vendor · NVD/CVE Database
- MediumCVE-2026-100609: Flowise credential lookup by ID bypasses workspace isolationSame vendor · NVD/CVE Database
- MediumCVE-2026-100528: OpenClaw credential exposure to wrong endpoint after model config hot reloadSame vendor · NVD/CVE Database
- MediumCVE-2025-14486: PixelPlay WordPress plugin unauthorized API key deletion via clear_api_typeSame vendor · NVD/CVE Database