무슨 일이 있었나
Flowise의 사용자 정의 함수 실행 샌드박스는 허용된 langchain 및 mammoth 모듈에 접근할 수 있고 ALLOW_BUILTIN_DEP가 활성화된 경우 탈출할 수 있어, 인증된 사용자가 서버에서 OS 명령을 실행할 수 있습니다.
왜 중요한가
Flowise는 종종 비관리자 빌더가 LLM/에이전트 애플리케이션을 구축하고 호스팅하는 데 사용됩니다. OS 명령 실행을 초래하는 샌드박스 탈출은 낮은 권한의 워크플로 작성자가 에이전트 애플리케이션과 사용하는 자격 증명을 실행하는 호스트를 손상시킬 수 있음을 의미합니다.
공격 경로
인증된 사용자가 /api/v1/node-custom-function을 통해 JavaScript를 제출하여 허용된 모듈(langchain/mammoth)을 남용해 샌드박스를 탈출합니다; 제출된 스크립트는 mammoth 패키지 경로에 파일을 작성하여 OS 명령 실행을 가능하게 합니다.
영향받는 시스템
ALLOW_BUILTIN_DEP=true이고 langchain 및 mammoth 모듈이 허용된 경우 Flowise 3.1.4까지.
완화 방안
샌드박스 탈출을 수정하는 Flowise 릴리스로 업그레이드하세요; 멀티테넌트 인스턴스에서 ALLOW_BUILTIN_DEP를 활성화하지 말고 허용된 모듈을 제한하세요.