| タイトル | FlowiseAI Flowise <= 3.0.12 Improperly Controlled Modification of Dynamically-Determined Object Attributes (CWE-915) |
|---|
| 説明 | # Technical Details
An Incomplete Fix for Mass Assignment vulnerability exists in multiple controllers of FlowiseAI Flowise, including `chatflows/index.ts`, `variables/index.ts`, `tools/index.ts`, and `datasets/index.ts`.
The application uses `Object.assign(entity, req.body)` to bind user-supplied HTTP request bodies directly onto TypeORM entity models without any field whitelisting. While the original patch (PR #5668) fixed the `createLead` function, the same vulnerable pattern was left unpatched in 15+ API endpoints. An attacker can inject unexpected JSON fields (e.g., "isPublic": true) to escalate privileges, expose private ChatFlows publicly without authentication, hijack API key bindings, and manipulate resource ownership.
# Vulnerable Code
File: packages/server/src/controllers/chatflows/index.ts (Lines 151-155)
Method: Multiple controllers using Object.assign(newEntity, body) pattern
Why: All properties from req.body are copied directly onto entity objects without field whitelisting. Fields like isPublic, apikeyid, workspaceId are valid model properties that can be injected by attackers.
# Reproduction
1. Deploy Flowise: docker run -d --name flowise -p 3000:3000 flowiseai/flowise:latest
2. Authenticate and get JWT cookie.
3. Create a ChatFlow with injected "isPublic": true: POST /api/v1/chatflows with {"name":"poc","flowData":"...","type":"CHATFLOW","isPublic":true}
4. Verify unauthenticated access: GET /api/v1/public-chatflows/<id> returns the chatflow without auth.
5. Hijack API key: PUT /api/v1/chatflows/<id> with {"apikeyid":"attacker-key-id"}
# Impact
- Private ChatFlows silently converted to public, exposing sensitive flow data.
- API key bindings can be hijacked.
- Cross-tenant data manipulation in multi-tenant configurations via workspaceId injection. |
|---|
| ソース | ⚠️ https://gist.github.com/YLChen-007/1d1520a4c80eab8d3c57dbd0b4da0d87 |
|---|
| ユーザー | Eric-a (UID 96353) |
|---|
| 送信 | 2026年03月11日 14:59 (3 月 ago) |
|---|
| モデレーション | 2026年05月06日 09:40 (2 months later) |
|---|
| ステータス | 承諾済み |
|---|
| VulDBエントリ | 361275 [FlowiseAI Flowise 迄 3.0.12 API Endpoint createLead 特権昇格] |
|---|
| ポイント | 20 |
|---|