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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-12944 — CVE-2026-12944에 대한 Python PoC로, Langflow 1.10.0의 urllib SSRF 및 파일 읽기 취약점입니다. 버전을 핑거프린팅하고 custom_component 엔드포인트를 익스플로잇합니다. | Kitploit
도구/GitHubGitHub/cflowsec/cve-2026-12944
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubcflowsec/cve-2026-12944

CVE-2026-12944

CVE-2026-12944에 대한 Python PoC로, Langflow 1.10.0의 urllib SSRF 및 파일 읽기 취약점입니다. 버전을 핑거프린팅하고 custom_component 엔드포인트를 익스플로잇합니다.

저장소 보기
13시간 38분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-12944

Langflow 1.10.0 urllib SSRF

Langflow OSS ≤ 1.10.0 — urllib.request / socket을 통한 커스텀 컴포넌트 코드 실행. 컴포넌트 스캐너의 차단 목록에서 해당 표준 라이브러리 모듈이 누락되어 있었다. IBM은 1.10.1에서 이를 수정했다.

IBM은 이를 PR:L로 평가한다. 실행 싱크는 POST /api/v1/custom_component이며, 해당 호출에는 세션 쿠키 또는 베어러 토큰이 필요하다. 이 PoC가 토큰을 얻는 방법:

  1. --test는 인증하지 않는다. GET /api/v1/version만 수행한다(추가로 연결 확인용 GET /).
  2. --read / --fetch는 먼저 인증한 뒤 컴포넌트를 POST한다.
  3. 기본 Langflow에는 **LANGFLOW_AUTO_LOGIN**이 있다. 스크립트는 GET /api/v1/auto_login을 호출하고, JSON에 이 있으면 를 전송한다. 사용자 이름이나 비밀번호는 필요 없다.
access_token
Authorization: Bearer …
  • 자동 로그인이 꺼져 있으면(401/빈 토큰), --uname / --password를 사용해 application/x-www-form-urlencoded(username, password)로 POST /api/v1/login을 호출한다. 기본값은 langflow / langflow이다.
  • 그런 다음 urllib.request.urlopen(...)을 호출하는 {"code": …}와 함께 POST /api/v1/custom_component를 수행한다.
  • --uname / --password는 4단계에서만 사용된다. 기본 설치에서는 사용되지 않는다.

    승인된 테스트 전용이다. 소유하지 않았거나 테스트 권한이 없는 시스템에 대해 실행하지 말 것.

    요구 사항: Python 3, 표준 라이브러리만 사용.

    root@kitploit:~
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --test
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --read /etc/hostname
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u http://TARGET --fetch http://127.0.0.1:7860/api/v1/version
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u https://TARGET --read /etc/hostname --insecure
    python3 cve-2026-12944-langflow-urllib-ssrf.py -u TARGET --uname langflow --password langflow --read /etc/hostname
    
    플래그기능
    -u / --urlLangflow 기본 URL(필수). http:// 또는 https://. 스킴이 없는 호스트 이름은 HTTPS를 먼저 시도한 후 HTTP를 시도한다. http→https 리다이렉트는 POST를 유지한다. 잘못된 TLS 인증서는 검증 없이 재시도되며, --insecure는 처음부터 검증을 건너뛴다
    --test핑거프린트만 수행: GET /api/v1/version(공개). 로그인 없음, custom_component 없음
    --read PATH가젯 실행: urllib.request로 PATH를 file:// 읽기(서버에서 실행됨)
    --fetch URLSSRF: urllib.request.urlopen(URL) 후 본문 출력
    --uname / --passwordAUTO_LOGIN이 꺼져 있을 때만 사용(기본값: langflow / langflow)
    --insecureTLS 검증 건너뛰기
    --timeoutHTTP 타임아웃(초, 기본값 30)

    --test 엔드포인트: GET /api/v1/version. "version" / "main_version"과 함께 200이 반환되면 VERSION을 출력하고, 해당 문자열이 1.0.0–1.10.0이면 IN_WINDOW를 출력한 다음 PRESENT를 출력한다. /api/v1/auto_login이나 /api/v1/custom_component는 절대 호출하지 않는다.

    --read / --fetch는 GET /api/v1/auto_login(또는 POST /api/v1/login)을 호출한 다음 **POST /api/v1/custom_component**를 호출한다.

    표준 출력: VERSION, IN_WINDOW, OUT_OF_WINDOW, PRESENT, VULNERABLE, NEED_AUTH, NOT_FOUND, NOT_VULNERABLE, READ.

    Working PoC

    CVE: CVE-2026-12944. IBM 공지; 1.10.1로 업그레이드.

    도구 다운로드