🇰🇷 한글 설명
Flowise의 공개 채팅플로우 엔드포인트에서 sanitizeFlowDataForPublicEndpoint 함수가 실제로 존재하지 않아, API 키와 비밀번호 등 민감한 자격증명이 평문으로 노출되는 취약점입니다. 버전 3.0.13 이전의 /api/v1/public-chatflows 및 /api/v1/public-chatbotConfig 엔드포인트를 통해 공격자가 직접 이 정보에 접근할 수 있습니다.
💡 쉬운 설명
Flowise의 공개 대화 흐름 조회 기능에서 API 키와 비밀번호가 그대로 노출됩니다. 누구나 이 정보를 얻어 시스템에 무단 접근할 수 있습니다.
🇺🇸 원문 (English)
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, the GET /api/v1/public-chatflows/:id endpoint returns the full chatflow object without sanitization for public chatflows. Docker validation revealed this is worse than initially assessed: the sanitizeFlowDataForPublicEndpoint function does NOT exist in the released v3.0.13 Docker image. Both public-chatflows AND public-chatbotConfig return completely raw flowData including credential IDs, plaintext API keys, and password-type fields. This vulnerability is fixed in 3.1.0.
📍 영향받는 시스템
Flowise 3.0.13 및 이전 버전 (3.1.0에서 패치됨)
⚔️ 공격 벡터
GET /api/v1/public-chatflows/:id 엔드포인트에 접근하여 credential ID, plaintext API key, password 필드 포함된 raw flowData 획득
🛡️ 대응 방법
Flowise를 3.1.0 이상으로 즉시 업그레이드
🔧 검증 코드
3.1.0 이상이면 Safe, 3.0.13 이하면 Vulnerable 출력
npm list flowise 2>/dev/null | grep -oP 'flowise@\K[0-9]+\.[0-9]+\.[0-9]+' | awk '{print ($1 >= "3.1.0") ? "Safe" : "Vulnerable"}'