무슨 일이 있었나
IBM은 파일 API를 통해 업로드된 MCP 서버 구성 파일에 대한 불완전한 검증 실행으로 인한 Langflow의 고심각도(CVSS 8.8) RCE를 공개했으며, 이는 일반 MCP config API 경로에 적용된 validator를 우회합니다.
왜 중요한가
MCP 서버 configs는 AI agent의 runtime이 생성할 수 있는 명령/도구를 제어합니다. 이 우회를 통해 인증된 공격자는 Langflow 프로세스의 권한으로 임의의 명령을 실행하는 악성 MCP 서버 정의를 심을 수 있으며, 이는 agent orchestration과 tool 실행 사이의 핵심 신뢰 경계를 약화시킵니다.
공격 경로
File Manager API의 upload_user_file() 함수는 _mcp_servers_<user_id>.json이라는 이름의 파일을 특별히 처리하지만 구조화된 MCP API 엔드포인트가 사용하는 MCPServerConfig validator를 호출하지 않습니다. 공격자는 위험한 환경 변수/명령 인수가 있는 crafted MCP config 파일을 업로드하고, 이후 get_server_list()를 통해 서버를 열거할 때 config는 JSON으로 파싱되며(재검증 없음) MCPStdioClient._connect_to_server()를 통해 생성되어 공격자가 제어하는 명령/환경을 실행합니다.
영향받는 시스템
IBM Langflow OSS 1.0.0부터 1.10.0까지
완화 방안
IBM이 검증 간격을 패치했으며, support pages node/7278932의 보안 공지를 참조하세요. Langflow를 업그레이드하고 이전에 업로드된 모든 MCP 구성 파일을 감시하세요.