🇰🇷 한글 설명
Flowise 3.1.3 미만 버전의 CSVAgent 구성 요소에서 CSV 데이터 처리 시 발생하는 코드 주입 취약점입니다. 공격자가 조작된 CSV 데이터를 통해 Python 코드를 주입하면 Pyodide를 통해 컨테이너 내에서 임의의 운영체제 명령을 루트 권한으로 실행할 수 있습니다.
💡 쉬운 설명
Flowise라는 프로그램에서 CSV 파일을 읽을 때, 파일 안에 숨겨진 악성 명령어가 실행될 수 있는 보안 구멍이 발견되었습니다. 이를 통해 해커가 서버의 제어권을 완전히 뺏을 수 있습니다.
🇺🇸 원문 (English)
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, the CSVAgent in packages/components/nodes/agents/CSVAgent/CSVAgent.ts extracted attacker-controlled CSV data with file.split(',').pop() and interpolated it directly into executable Python as base64_string = "${base64String}" before calling Pyodide. The validatePythonCodeForDataFrame() denylist only checked later LLM-generated code and did not validate this initial code block. An authenticated attacker could inject a closing quote followed by Python code, use Pyodide's js bridge to load Node.js child_process, and execute arbitrary operating system commands as root in the Flowise container. This issue is fixed in version 3.1.3.
📍 영향받는 시스템
Flowise versions prior to 3.1.3
⚔️ 공격 벡터
인증된 공격자가 조작된 CSV 파일을 업로드하여 Python 코드 주입을 통한 원격 코드 실행(RCE)
🛡️ 대응 방법
Flowise를 최신 버전인 3.1.3 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 3.1.3 미만이면 취약한 상태입니다.
npm list flowise | grep -E 'flowise@'