IBM Langflow OSS 1.0.0부터 1.10.0까지 Langflow 버전 최대 1.9.2(커밋 94981c443d4918517b9e8163d70fc598dc33a32d)에는 정책 구성 요소의 ToolGuard 통합에 허용_custom_comComponents=false 보안 제어를 우회하는 코드 주입 취약점이 포함되어 있습니다. 유효성 검사 메커니즘이 node_template["code"]["value"]의 주요 구성 요소 소스 코드만 확인하고 생성된 ToolGuard Python 파일을 저장하는 동적 CodeInput 필드의 유효성을 검사하지 못하기 때문에 취약점이 존재합니다.
IBM Langflow OSS 1.0.0부터 1.10.0까지 Langflow 버전 최대 1.9.2(커밋 94981c443d4918517b9e8163d70fc598dc33a32d)에는 정책 구성 요소의 ToolGuard 통합에 허용_custom_comComponents=false 보안 제어를 우회하는 코드 주입 취약점이 포함되어 있습니다. 유효성 검사 메커니즘이 node_template["code"]["value"]의 주요 구성 요소 소스 코드만 확인하고 생성된 ToolGuard Python 파일을 저장하는 동적 CodeInput 필드의 유효성을 검사하지 못하기 때문에 취약점이 존재합니다. 공격자는 이러한 검증되지 않은 동적 필드에 악성 Python 코드를 삽입할 수 있습니다. 이 코드는 Flow.data에 유지되고 나중에 ToolGuard 런타임을 통해 보호된 도구가 호출될 때 서버 측에서 실행됩니다. 이를 통해 흐름 생성 권한이 있는 인증된 사용자는 사용자 지정 구성 요소 제한에도 불구하고 백엔드에서 임의의 Python 코드를 실행할 수 있습니다. 공격자가 제어하는 user_id 매개변수를 허용하는 에이전트 MCP update_flow_comComponent_field 도구를 통해 테넌트 간 흐름 조작을 통해 취약점이 확대될 수 있으며, 이를 통해 공격자는 피해자 사용자의 흐름에 악성 코드를 주입할 수 있습니다. 공개적으로 액세스 가능한 흐름 및 특정 잘못된 구성(AUTO_LOGIN=true, NEW_USER_IS_ACTIVE=true)과 결합되면 인증 요구 사항을 줄여 공격을 수행할 수 있습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 99.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 99.00 |
VPI 공식 vpi-v1 기준