🇰🇷 한글 설명
Flowise 3.1.3 미만 버전에서 Custom MCP stdio 환경 변수를 검증할 때 대소문자를 구분하여 비교하는 취약점이 존재합니다. Windows 환경은 환경 변수 이름의 대소문자를 구분하지 않으므로, 공격자가 'node_options'와 같이 대소문자를 변형하여 NODE_OPTIONS 차단 목록을 우회하고 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
보안 검사 도구가 대소문자를 엄격하게 구분하는 허점을 이용해 금지된 명령어를 몰래 실행하는 공격입니다. 이를 통해 공격자는 서버에서 허가되지 않은 악성 프로그램을 실행할 수 있습니다.
🇺🇸 원문 (English)
Flowise before 3.1.3 validates Custom MCP stdio environment variables against a denylist using a case-sensitive comparison, so on Windows, where environment names are case-insensitive, supplying 'node_options' bypasses the NODE_OPTIONS denylist entry. An authenticated user who can configure a Custom MCP node can thereby inject NODE_OPTIONS --require and execute arbitrary code in the Flowise server context.
📍 영향받는 시스템
Flowise version < 3.1.3 (Windows 환경에서 특히 위험)
⚔️ 공격 벡터
Custom MCP 노드 설정을 통해 대소문자가 변형된 환경 변수(예: node_options)를 주입하여 NODE_OPTIONS 차단을 우회함
🛡️ 대응 방법
Flowise를 3.1.3 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.1.3 미만(예: 3.1.2 또는 2.x.x)이면 취약한 상태입니다.
npm list flowise | grep -E 'flowise@([0-2]\.|3\.[0-2]\.)'