🇰🇷 한글 설명
Langflow 1.9.0 이전 버전의 /api/v1/build_public_tmp/{flow_id}/flow 엔드포인트는 공격자가 제어하는 Python 코드를 포함한 데이터를 받아 sandboxing 없이 실행합니다. 이는 인증 없이 원격 코드 실행(RCE)을 가능하게 합니다.
💡 쉬운 설명
Langflow 웹 서비스의 공개 API가 악성 Python 코드를 받아 그대로 실행하는 결함입니다. 누구나 인증 없이 이를 악용해 서버를 완전히 제어할 수 있습니다.
🇺🇸 원문 (English)
Langflow is a tool for building and deploying AI-powered agents and workflows. In versions prior to 1.9.0, the POST /api/v1/build_public_tmp/{flow_id}/flow endpoint allows building public flows without requiring authentication. When the optional data parameter is supplied, the endpoint uses attacker-controlled flow data (containing arbitrary Python code in node definitions) instead of the stored flow data from the database. This code is passed to exec() with zero sandboxing, resulting in unauthenticated remote code execution. This is distinct from CVE-2025-3248, which fixed /api/v1/validate/code by adding authentication. The build_public_tmp endpoint is designed to be unauthenticated (for public flows) but incorrectly accepts attacker-supplied flow data containing arbitrary executable code. This issue has been fixed in version 1.9.0.
📍 영향받는 시스템
Langflow < 1.9.0
⚔️ 공격 벡터
POST /api/v1/build_public_tmp/{flow_id}/flow 엔드포인트로 data 파라미터에 악의적 Python 코드 포함된 flow 데이터 전송
🛡️ 대응 방법
Langflow를 1.9.0 이상으로 업데이트하세요
🔧 검증 코드
표시된 Version이 1.9.0 이상이면 안전하고, 1.9.0 미만이면 취약합니다.
pip show langflow 2>/dev/null | grep Version