Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, the text-to-speech generation endpoint (POST /api/v1/text-to-speech/generate) is whitelisted (no auth) and accepts a credentialId directly in the request body. When called without a chatflowId, the endpoint uses the provided credentialId to decrypt the stored credential (e.g., OpenAI or ElevenLabs API key) and generate speech. This vulnerability is fixed in 3.1.0.
Flowise versions prior to 3.1.0 contain an authentication bypass vulnerability in the text-to-speech endpoint that allows unauthenticated attackers to extract encrypted API credentials (OpenAI, ElevenLabs, etc.) by directly specifying a credentialId. This critical flaw enables unauthorized access to third-party AI services and potential credential theft without authentication. The vulnerability is actively exploitable and affects all organizations using Flowise for LLM workflows.
IMMEDIATE ACTIONS:
1. Upgrade Flowise to version 3.1.0 or later immediately
2. Audit all API credentials stored in Flowise instances (OpenAI, ElevenLabs, etc.) and rotate them immediately
3. Review access logs for POST /api/v1/text-to-speech/generate requests without chatflowId parameter
4. Disable or restrict network access to Flowise instances until patched
PATCHING GUIDANCE:
- Deploy version 3.1.0+ across all Flowise deployments
- Test in staging environment before production rollout
- Verify authentication is enforced on text-to-speech endpoint post-patch
COMPENSATING CONTROLS (if immediate patching delayed):
- Implement WAF rules to block POST /api/v1/text-to-speech/generate requests containing credentialId parameter
- Restrict Flowise network access to authorized internal networks only
- Implement API rate limiting on text-to-speech endpoint
- Monitor for suspicious credentialId patterns in request logs
DETECTION RULES:
- Alert on POST /api/v1/text-to-speech/generate without chatflowId parameter
- Monitor for repeated requests with different credentialId values
- Track API key usage spikes in OpenAI/ElevenLabs accounts post-compromise
- Log all unauthenticated requests to /api/v1/text-to-speech/generate endpoint
الإجراءات الفورية:
1. ترقية Flowise إلى الإصدار 3.1.0 أو أحدث على الفور
2. تدقيق جميع بيانات اعتماد API المخزنة في مثيلات Flowise (OpenAI و ElevenLabs وغيرها) وتدويرها على الفور
3. مراجعة سجلات الوصول لطلبات POST /api/v1/text-to-speech/generate بدون معامل chatflowId
4. تعطيل أو تقييد الوصول إلى شبكة مثيلات Flowise حتى يتم تطبيق الرقعة
إرشادات التصحيح:
- نشر الإصدار 3.1.0+ عبر جميع نشرات Flowise
- الاختبار في بيئة التدريج قبل نشر الإنتاج
- التحقق من فرض المصادقة على نقطة نهاية تحويل النص إلى كلام بعد التصحيح
الضوابط البديلة (إذا تأخر التصحيح الفوري):
- تنفيذ قواعد WAF لحظر طلبات POST /api/v1/text-to-speech/generate التي تحتوي على معامل credentialId
- تقييد الوصول إلى شبكة Flowise للشبكات الداخلية المصرح بها فقط
- تنفيذ تحديد معدل API على نقطة نهاية تحويل النص إلى كلام
- مراقبة أنماط credentialId المريبة في سجلات الطلب
قواعد الكشف:
- تنبيه على POST /api/v1/text-to-speech/generate بدون معامل chatflowId
- مراقبة الطلبات المتكررة بقيم credentialId مختلفة
- تتبع ارتفاع استخدام مفاتيح API في حسابات OpenAI/ElevenLabs بعد الاختراق
- تسجيل جميع الطلبات غير المصرح بها إلى نقطة نهاية /api/v1/text-to-speech/generate