Flowise — это пользовательский интерфейс с возможностью перетаскивания для создания настраиваемой большой языковой модели потока. До версии 3.1.3 конечные точки Flowise openai-assistants-vector-store принимали управляемый клиентом параметр учетных данных и загружали учетные данные по идентификатору, не проверяя, принадлежат ли эти учетные данные рабочей области вызывающего объекта. Помощники по разрешению маршрутов:* проверьте только доступ к функциям.
Контроллер передает req.query.credential прямо в службу, и служба использует findOneBy({ id: credentialId }), расшифровывает учетные данные и вызывает API OpenAI без проверки workspaceId. Если злоумышленник знает другой идентификатор учетной записи рабочей области, злоумышленник может использовать этот ключ OpenAI рабочей области, читать, изменять или удалять векторные хранилища и файлы жертвы, оказывать влияние на выставление счетов на учетную запись OpenAI жертвы и нарушать границы мультитенантности. Эта проблема исправлена в версии 3.1.3.
Показать оригинальное описание (EN)
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, Flowise openai-assistants-vector-store endpoints accept a client-controlled credential parameter and load credentials by id without checking whether that credential belongs to the caller workspace. Route permissions assistants:* only check feature access. The controller passes req.query.credential straight to the service, and the service uses findOneBy({ id: credentialId }), decrypts the credential, and calls OpenAI APIs without a workspaceId check. If an attacker knows another workspace credentialId, the attacker can use that workspace OpenAI key, read, modify, or delete victim vector stores and files, cause billing impact on the victim OpenAI account, and violate multi-tenant boundaries. This issue is fixed in version 3.1.3.
Характеристики атаки
Последствия
Строка CVSS v4.0