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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-33067 — CVE-2026-33017을 탐지하기 위한 Nuclei 템플릿입니다. 이 취약점은 Langflow ≤ 1.8.2에서 인증 없이 원격 코드 실행이 가능한 취약점입니다. HTTP 응답 분석을 통해 취약한 빌드와 패치된 빌드를 구분하기 위해 비파괴적인 사전 점검을 수행합니다. | Kitploit
도구/GitHubGitHub/lopseg/cve-2026-33067
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHublopseg/cve-2026-33067

cve-2026-33067

CVE-2026-33017을 탐지하기 위한 Nuclei 템플릿입니다. 이 취약점은 Langflow ≤ 1.8.2에서 인증 없이 원격 코드 실행이 가능한 취약점입니다. HTTP 응답 분석을 통해 취약한 빌드와 패치된 빌드를 구분하기 위해 비파괴적인 사전 점검을 수행합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33017 — Langflow 인증 없는 RCE Nuclei 템플릿

Severity CVSS CWE

CVE-2026-33017을 탐지하는 Nuclei 템플릿입니다 — Langflow ≤ 1.8.2에서 공개 flow-build 엔드포인트를 통해 접근 가능한 인증 없는 원격 코드 실행 취약점입니다:

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

취약한 핸들러는 공격자가 제어하는 data flow 그래프를 허용하며, 그래프 빌드 중 data.nodes[].data.node.template.code.value를 샌드박스 없이 Python exec()에 직접 전달합니다. 수정 버전(≥ 1.9.0)에서는 핸들러 시그니처에서 data 매개변수를 제거하여, 패치된 빌드는 동일한 요청을 FastAPI의 유효성 검사 계층에서 HTTP 422로 거부합니다.


템플릿 판단 방식

이 템플릿은 비파괴적입니다. 0-UUID flow ID에 무해한 페이로드를 전송하므로, 취약한 호스트에서도 exec()에 도달할 수 없습니다. HTTP 응답 시그니처만으로 취약한 핸들러와 패치된 핸들러를 구분합니다.

단계요청알려주는 내용
1GET /api/v1/version대상이 Langflow임을 확인하고 빌드 버전을 추출합니다.

단계 2의 라우팅:

실제 RCE 확인을 위해서는 여전히 (a) 대상에 실제 공개 flow UUID와 (b) **대역 외 콜백(DNS/HTTP)**이 필요합니다. 이 단계는 의도적으로 여기에 포함되지 않았습니다 — 이 템플릿은 능동적인 익스플로잇을 실행하는 것이 의미 있는지 판단하기 위한 안전한 사전 점검입니다.


사용법

단일 호스트:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com

목록에서 대량 스캔:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -l targets.txt -rl 20 -c 10

디버그 출력 포함 (원시 요청/응답 확인):

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com -debug-req -debug-resp

템플릿을 실행하기 전에 로컬에서 검증:

root@kitploit:~
nuclei -validate -t CVE-2026-33017.yaml

예시 출력

취약한 대상:

root@kitploit:~
[CVE-2026-33017] [http] [critical] https://target.example.com [vulnerable-flow-not-found] ["1.8.2","base"]

패치된 대상 — 결과 없음 (422 응답이 어떤 규칙과도 일치하지 않음).


대상 찾기

Langflow 호스트를 발견하기 위한 일반적인 검색 쿼리 (승인된 자산에 대해서만 사용):

  • Shodan: http.title:"Langflow"
  • FOFA: app="Langflow"
  • Google: intitle:"Langflow" inurl:"/flows"

취약점 상세

  • CVE: CVE-2026-33017
  • CWE: CWE-94 (Improper Control of Generation of Code)
  • CVSS 3.1: 9.3 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • 영향 버전: Langflow ≤ 1.8.2
  • 수정 버전: Langflow ≥ 1.9.0
  • 벡터: 네트워크, 인증 불필요, 사용자 상호작용 없음
  • 영향: Langflow 프로세스 사용자 권한으로 원격 코드 실행

근본 원인 (간략)

취약한 빌드에서 공개 핸들러는 대략 다음과 같이 선언됩니다:

root@kitploit:~
@router.post("/build_public_tmp/{flow_id}/flow")
async def build_public_flow(flow_id: UUID, data: FlowDataRequest | None = None, ...):
    ...
    await verify_public_flow_and_get_user(flow_id, ...)
    ...
    # data.nodes[].data.node.template.code.value가 Component 빌드 경로에서
    # exec()에 도달

data는 공격자가 제어합니다. 패치된 핸들러는 매개변수를 완전히 제거하고 data=None을 강제하므로, 패치된 빌드에서 data 본문 필드가 포함된 요청은 422로 거부됩니다.


해결 방법

  1. Langflow를 ≥ 1.9.0으로 업그레이드하십시오.
  2. 즉시 업그레이드할 수 없는 경우, 리버스 프록시에서 /api/v1/build_public_tmp/를 차단하십시오.
  3. LANGFLOW_AUTO_LOGIN=False를 설정하고, 관리자 자격 증명을 구성하며, LANGFLOW_SECRET_KEY를 교체하십시오.
  4. 기존 flow를 감사하십시오 — access_type=PUBLIC인 flow가 공격자가 URL에서 대상으로 삼는 flow입니다.

참고 자료

  • GitHub Advisory: https://github.com/advisories/GHSA-vwmf-pq79-vjvx
  • SonicWall 분석: https://www.sonicwall.com/pt-br/blog/langflow-ai-code-injection-to-rce-flaw
  • 패치된 핸들러 소스: https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/api/v1/chat.py

법적 고지 및 공개

이 템플릿은 방어적 보안 및 승인된 테스트 전용으로 게시됩니다. 귀하가 소유하지 않거나 명시적인 서면 허가 없이 시스템에 대해 실행하는 것은 대부분의 관할권에서 불법이며 플랫폼 이용약관을 위반합니다.

이 템플릿을 사용함으로써 다음에 동의하는 것으로 간주됩니다:

  • 귀하는 소유하거나 명시적으로 테스트 권한이 있는 자산(버그 바운티 범위, 서명된 침투 테스트 계약, 내부 자산 목록)만 스캔합니다.
  • 작성자는 오용에 대해 책임을 지지 않습니다.
  • 템플릿은 있는 그대로 제공되며, 어떠한 보증도 없습니다.

작성자

lopseg — https://github.com/lopseg

풀 리퀘스트와 이슈를 환영합니다.

라이선스

MIT

도구 다운로드
2
POST /api/v1/build_public_tmp/00000000-0000-0000-0000-000000000000/flow (본문에 data 필드와 무해한 template.code.value 포함)
아래 라우팅 결정에 사용됩니다.
상태본문 포함 내용판정
404flow / public취약 — 핸들러가 data를 수락했으며, UUID가 가짜이므로 조회 실패
200job_id / build / task취약 — 핸들러가 data를 수락하고 빌드 경로 진입
5xxexec / Component / traceback취약 — 핸들러가 실패 전 exec 코드 경로에 도달
422Field required / extra / data패치됨 — 핸들러 시그니처가 더 이상 data를 수락하지 않음