Descripción general
Flowise es una interfaz de usuario de tipo arrastrar y soltar diseñada para construir flujos personalizados basados en modelos de lenguaje de gran escala (LLM). Se ha identificado una vulnerabilidad de control de acceso ausente en todas las versiones anteriores a la 3.1.2, que afecta directamente a los endpoints CRUD asociados al almacén vectorial de OpenAI Assistants.
Detalle técnico
La ruta /api/v1/openai-assistants-vector-store no está incluida en la lista WHITELIST_URLS del sistema, lo que en principio debería implicar que requiere autenticación mediante API key. Sin embargo, el middleware de autenticación principal no aplica ninguna verificación de permisos sobre las operaciones realizadas en esta ruta cuando se accede a través de dicha API key.
En consecuencia, cualquier actor que conozca la ruta puede ejecutar operaciones de creación, lectura, actualización y eliminación sobre el almacén vectorial de OpenAI Assistants sin que el sistema valide si tiene autorización para hacerlo. La ausencia de controles de permisos en cada operación individual constituye el núcleo de la vulnerabilidad.
Impacto
Un atacante con acceso a la red donde se expone la instancia de Flowise puede:
- Leer el contenido del almacén vectorial de OpenAI Assistants, potencialmente accediendo a datos sensibles indexados.
- Modificar o eliminar vectores almacenados, comprometiendo la integridad de los flujos LLM configurados.
- Crear entradas arbitrarias en el almacén vectorial, lo que podría derivar en manipulación del comportamiento de los asistentes.
Este tipo de exposición es especialmente crítica en entornos donde Flowise se despliega con acceso público o semipúblico, ya que no existe ninguna barrera efectiva de autorización sobre estas operaciones.
Versiones afectadas
Todas las versiones de Flowise anteriores a la 3.1.2 están afectadas por esta vulnerabilidad.
Solución
El problema ha sido corregido en la versión 3.1.2 de Flowise. Se recomienda actualizar a esta versión o superior de forma inmediata para eliminar la exposición de los endpoints CRUD del almacén vectorial de OpenAI Assistants.
