Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, there is a remote code execution vulnerability in AirtableAgent.ts caused by lack of input verification when using Pandas. The user’s input is directly applied to the question parameter within the prompt template and it is reflected to the Python code without any sanitization. This vulnerability is fixed in 3.1.0.
Flowise versions prior to 3.1.0 contain a critical remote code execution vulnerability in AirtableAgent.ts due to unsanitized user input being directly injected into Python code execution contexts. An attacker can execute arbitrary code by crafting malicious prompts that exploit the lack of input validation in the Pandas integration. This vulnerability poses an immediate threat to organizations using Flowise for LLM-based applications, particularly those processing untrusted user inputs.
IMMEDIATE ACTIONS:
1. Identify all Flowise deployments in your environment and document versions currently in use
2. Isolate affected Flowise instances from production networks if versions < 3.1.0 are confirmed
3. Implement network-level access controls restricting Flowise API endpoints to trusted sources only
4. Review audit logs for suspicious prompt patterns or unusual Python code execution
PATCHING GUIDANCE:
1. Upgrade immediately to Flowise 3.1.0 or later when available
2. If upgrade is not immediately possible, disable AirtableAgent functionality entirely
3. Restrict user access to Flowise UI to authenticated, authorized personnel only
4. Implement strict input validation at application layer before data reaches Flowise
COMPENSATING CONTROLS (if patch unavailable):
1. Deploy Web Application Firewall (WAF) rules to detect and block common code injection patterns in prompts
2. Run Flowise in containerized environment with minimal privileges and restricted filesystem access
3. Implement prompt filtering to block Python-related keywords and system commands
4. Monitor Python subprocess execution and log all code execution attempts
5. Use network segmentation to limit lateral movement if compromise occurs
DETECTION RULES:
1. Alert on prompts containing: 'import', 'exec', 'eval', '__import__', 'subprocess', 'os.system'
2. Monitor for unusual Python process spawning from Flowise application
3. Track failed and successful authentication attempts to Flowise interfaces
4. Log all API calls to AirtableAgent endpoints with full request/response payloads
5. Monitor outbound network connections from Flowise containers to unexpected destinations
الإجراءات الفورية:
1. حدد جميع نشرات Flowise في بيئتك وقثق الإصدارات المستخدمة حالياً
2. عزل نسخ Flowise المتأثرة عن شبكات الإنتاج إذا تم تأكيد الإصدارات < 3.1.0
3. تطبيق عناصر تحكم الوصول على مستوى الشبكة لتقييد نقاط نهاية API الخاصة بـ Flowise للمصادر الموثوقة فقط
4. مراجعة سجلات التدقيق للأنماط المريبة في الاستفسارات أو تنفيذ كود Python غير المعتاد
إرشادات التصحيح:
1. قم بالترقية فوراً إلى Flowise 3.1.0 أو إصدار أحدث عند توفره
2. إذا لم يكن الترقية ممكنة على الفور، قم بتعطيل وظيفة AirtableAgent بالكامل
3. قيد وصول المستخدم إلى واجهة Flowise للموظفين المصرح لهم والمصادقين فقط
4. تطبيق التحقق الصارم من صحة المدخلات على مستوى التطبيق قبل وصول البيانات إلى Flowise
الضوابط البديلة (إذا لم يكن التصحيح متاحاً):
1. نشر قواعد جدار حماية تطبيقات الويب (WAF) للكشف عن أنماط حقن الأكواد الشائعة وحجبها في الاستفسارات
2. تشغيل Flowise في بيئة حاوية بامتيازات محدودة وإمكانية وصول مقيدة للنظام الملفات
3. تطبيق تصفية الاستفسارات لحجب الكلمات الرئيسية المتعلقة بـ Python وأوامر النظام
4. مراقبة تنفيذ عملية Python وتسجيل جميع محاولات تنفيذ الأكواد
5. استخدام تقسيم الشبكة لتحديد الحركة الجانبية في حالة حدوث اختراق
قواعد الكشف:
1. تنبيهات على الاستفسارات التي تحتوي على: 'import'، 'exec'، 'eval'، '__import__'، 'subprocess'، 'os.system'
2. مراقبة توليد عملية Python غير المعتادة من تطبيق Flowise
3. تتبع محاولات المصادقة الفاشلة والناجحة لواجهات Flowise
4. تسجيل جميع استدعاءات API لنقاط نهاية AirtableAgent مع حمولات الطلب/الاستجابة الكاملة
5. مراقبة الاتصالات الشبكية الصادرة من حاويات Flowise إلى وجهات غير متوقعة