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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
POC_CVE-2024-12537 — 로컬 격리 실험실 및 CVE-2024-12537을 위한 nuclei 템플릿. 이는 Open WebUI의 코드 포맷팅 엔드포인트에서 발생하는 인증되지 않은 서비스 거부 취약점입니다. 취약한 버전 및 패치된 버전에 대해 탐지 로직을 검증합니다. | Kitploit
도구/GitHubGitHub/fineman999/poc_cve-2024-12537
Vulnerability AnalysisExploitationWeb SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubfineman999/poc_cve-2024-12537

POC_CVE-2024-12537

로컬 격리 실험실 및 CVE-2024-12537을 위한 nuclei 템플릿. 이는 Open WebUI의 코드 포맷팅 엔드포인트에서 발생하는 인증되지 않은 서비스 거부 취약점입니다. 취약한 버전 및 패치된 버전에 대해 탐지 로직을 검증합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-12537 Open WebUI 코드 포맷 DoS 실습 환경

이 저장소는 CVE-2024-12537에 대한 로컬 격리 재현 실습 환경과 nuclei 템플릿 후보를 포함합니다. 이는 Open WebUI의 코드 포맷팅 엔드포인트에서의 인증되지 않은 서비스 거부 취약점입니다.

이 실습 환경은 대규모 서비스 거부 페이로드를 보내지 않습니다. Open WebUI의 인증되지 않은 /api/version 핑거프린트 엔드포인트와 /api/v1/utils/code/format에 대한 최소 {"code":"x"} 요청을 통해 nuclei 탐지 로직을 검증한 후, 취약한 버전과 패치된/최신 버전을 비교합니다.

요약

  • 제품: open-webui/open-webui
  • 취약점: 인증되지 않은 무제한 리소스 소비 / 서비스 거부
  • CVE: CVE-2024-12537
  • GHSA: GHSA-chf7-q7m5-fq92
  • 영향받는 엔드포인트: POST /api/v1/utils/code/format
  • 이 실습 환경에서 사용하는 핑거프린트 엔드포인트: GET /api/version
  • 검증된 취약 버전: v0.5.10
  • 검증된 패치/최신 버전: v0.6.14
  • 여기서 사용된 nuclei 기준: 인증되지 않은 위협 모델에 대해 < 0.5.14
  • 참조:

    • https://nvd.nist.gov/vuln/detail/CVE-2024-12537
    • https://github.com/advisories/GHSA-chf7-q7m5-fq92
    • https://huntr.com/bounties/edabd06c-acc0-428c-a481-271f333755bc

    파일

    • docker-compose.yml: 선택 가능한 Docker 태그로 Open WebUI를 시작합니다.
    • verify-cve-2024-12537.sh: 준비 상태를 기다리고 /api/version을 출력하며, 사용 가능할 때 nuclei를 실행합니다.
    • nuclei/CVE-2024-12537.yaml: nuclei 템플릿 후보

    요구 사항

    • Docker Engine 또는 Docker Desktop
    • curl
    • 선택 사항: nuclei

    이 명령은 로컬 격리 실습 환경에서만 실행하십시오. 타사 시스템에 대해 이 명령을 사용하지 마십시오. 소유하고 있거나 명시적인 서면 승인을 받은 시스템에만 사용하십시오.

    취약 버전 탐지 재현

    Open WebUI v0.5.10 시작:

    root@kitploit:~
    WEBUI_TAG=v0.5.10 docker compose up -d
    

    확인 스크립트 실행:

    root@kitploit:~
    sh verify-cve-2024-12537.sh
    

    관찰된 취약 버전 응답:

    root@kitploit:~
    HTTP/1.1 200 OK
    content-type: application/json
    
    {"version":"0.5.10"}
    

    관찰된 취약 버전 nuclei 출력:

    root@kitploit:~
    [CVE-2024-12537:dsl-1] [http] [high] http://127.0.0.1:3010/api/v1/utils/code/format ["0.5.10"]
    

    정리:

    root@kitploit:~
    docker compose down -v
    

    패치/최신 버전 제어 재현

    Open WebUI v0.6.14 시작:

    root@kitploit:~
    WEBUI_TAG=v0.6.14 docker compose up -d
    

    확인 스크립트 실행:

    root@kitploit:~
    sh verify-cve-2024-12537.sh
    

    관찰된 패치/최신 버전 응답:

    root@kitploit:~
    HTTP/1.1 200 OK
    content-type: application/json
    
    {"version":"0.6.14"}
    

    관찰된 패치/최신 버전 nuclei 출력:

    root@kitploit:~
    No results found
    

    정리:

    root@kitploit:~
    docker compose down -v
    

    Nuclei

    템플릿 검증:

    root@kitploit:~
    nuclei -validate -t nuclei/CVE-2024-12537.yaml
    

    로컬 실습 환경에 대해 실행:

    root@kitploit:~
    nuclei -silent \
      -t nuclei/CVE-2024-12537.yaml \
      -include-templates nuclei/CVE-2024-12537.yaml \
      -u http://127.0.0.1:3010
    

    예상 동작:

    • v0.5.10: 일치
    • v0.6.14: 불일치

    참고 사항

    • 템플릿은 의도적으로 /api/v1/utils/code/format에 큰 요청 본문을 보내지 않습니다.
    • 엔드포인트 증명은 {"code":"x"}만 사용하며, Docker v0.5.10에서는 {"code":"x\n"}을, Docker v0.6.14에서는 {"detail":"인증되지 않음"}을 반환했습니다.
    • 예시 nuclei 명령에는 -include-templates가 포함되어 있습니다. 그 이유는 dos 태그가 지정된 템플릿이 기본적으로 제외될 수 있기 때문입니다.
    • 일부 Open WebUI 버전은 애플리케이션이 아직 시작 중일 때 일시적으로 curl: (52) Empty reply from server를 반환합니다. 확인 스크립트는 /api/version이 응답할 때까지 기다립니다.
    • docker-compose.yml은 RAG_EMBEDDING_MODEL="" 및 RAG_EMBEDDING_MODEL_AUTO_UPDATE=False를 설정하여 실습 환경이 임베딩 모델 초기화에서 차단되지 않도록 합니다.
    • GitHub Advisory는 현재 패키지 영향 버전을 <= 0.3.32로 나열하고 있습니다. 이 실습 환경은 커밋 추적을 기반으로 인증되지 않은 코드 경로 기준 < 0.5.14를 사용합니다. 관련 시퀀스는 d3d161f72 (인증 없음, v0.5.0-v0.5.13), 2f75eef49 (get_verified_user 추가, v0.5.14+), 4fe45d443 (get_admin_user로 강화, v0.6.14+)입니다.
    • 실제 대상은 사용되지 않았습니다.
    도구 다운로드