Ollamaに深刻なメモリリークと未修正のRCE脆弱性、セキュリティリスクが浮上
Ollamaの「Bleeding Llama」と呼ばれる深刻な脆弱性は、認証されていない攻撃者による機密性の高いプロセスメモリの漏洩を可能にする可能性があります。さらに、OllamaのWindowsアップデートメカニズムにおける2つの未修正のリモートコード実行(RCE)脆弱性は、重大なリスクをもたらしており、即時のセキュリティ対策の必要性を浮き彫りにしています。

サイバーセキュリティ研究者らは、**Ollama**に深刻なセキュリティ脆弱性を発見しました。この脆弱性が悪用された場合、リモートから認証されていない攻撃者がプロセス全体のメモリを漏洩させる可能性があります。
この境界外読み取りの脆弱性は、世界中で300,000以上のサーバーに影響を与える可能性があり、**Cyera**によって**Bleeding Llama**と名付けられ、**CVE-2026-7482**(CVSSスコア:9.1)として追跡されています。
**Ollama**は、大規模言語モデル(LLM)のローカル実行を可能にする人気のオープンソースフレームワークです。このプロジェクトはGitHubで171,000以上のスターを獲得し、16,100回以上フォークされています。
CVEの説明によると、「Ollama 0.17.1より前のバージョンには、GGUFモデルローダーにおけるヒープ境界外読み取りの脆弱性が含まれています。`/api/create`エンドポイントは、攻撃者が提供したGGUFファイルを受け入れますが、そのファイル内の宣言されたテンソルのオフセットとサイズがファイルの実際の長さを超えています。quantization中にfs/ggml/gguf.goおよびserver/quantization.go(WriteTo())で、サーバーは割り当てられたヒープバッファを超えて読み取ります。」
**GGUF**(GPT-Generated Unified Format)は、ローカルでのロードと実行のために大規模言語モデルを保存するためのファイル形式です。
この脆弱性は、OllamaがGGUFファイルからモデルを作成する際に`unsafe`パッケージを使用していることに起因しており、特に`WriteTo()`関数でメモリ安全性の保証を回避しています。
### 攻撃シナリオ
悪意のあるアクターは、細工されたGGUFファイルを公開されているOllamaサーバーに送信し、テンソルの形状を非常に大きな数値に設定することで、`/api/create`エンドポイント経由でのモデル作成中に境界外ヒープ読み取りをトリガーできます。この脆弱性を悪用することに成功すると、Ollamaプロセスメモリから機密データが漏洩する可能性があります。
漏洩したデータには、環境変数、APIキー、システムプロンプト、および同時実行ユーザーの会話データなどが含まれる可能性があり、これらは結果として得られたモデルアーティファクトを`/api/push`エンドポイント経由で攻撃者が制御するレジストリにアップロードすることで窃取される可能性があります。
攻撃チェーンは以下のステップで構成されます。
* HTTP POSTリクエストを使用して、インフレートされたテンソル形状を持つ細工されたGGUFファイルをネットワークからアクセス可能なOllamaサーバーにアップロードします。
* `/api/create`エンドポイントを使用してモデル作成をアクティブ化し、境界外読み取りの脆弱性をトリガーします。
* `/api/push`エンドポイントを使用して、ヒープメモリから外部サーバーへデータを窃取します。
**Cyera**のセキュリティ研究者であるDor Attias氏は、「攻撃者は、APIキー、独自のコード、顧客契約など、AI推論に関する組織のあらゆることを学習できます」と述べています。

「さらに、エンジニアはOllamaをClaude Codeのようなツールに接続することがよくあります。その場合、影響はさらに大きくなります。すべてのツールの出力はOllamaサーバーに流れ、ヒープに保存され、攻撃者の手に渡る可能性があります。」
ユーザーは、最新の修正を適用し、ネットワークアクセスを制限し、実行中のインスタンスのインターネットへの露出を監査し、ファイアウォールで隔離して保護することを推奨します。REST APIには組み込み認証がないため、すべてのOllamaインスタンスの前に認証プロキシまたはAPIゲートウェイをデプロイすることも推奨されます。
### Ollamaの2つの未修正脆弱性が永続的なコード実行につながる
**Striga**の研究者らは、OllamaのWindowsアップデートメカニズムにおける2つの脆弱性を詳細に説明しており、これらを組み合わせることで永続的なコード実行が可能になります。これらの欠陥は、90日間の開示期間を経て2026年1月27日に開示された後も未修正のままです。
**Striga**の共同創設者であるBartłomiej "Bartek" Dmitruk氏によると、WindowsデスクトップクライアントはWindowsのスタートアップフォルダーからログイン時に自動起動し、127.0.0[.]1:11434でリッスンし、バックグラウンドで`/api/update`エンドポイント経由で定期的にアップデートをポーリングして、次回のアプリ起動時に保留中のアップデートを実行します。
特定された脆弱性は、パス・トラバーサルと署名チェックの欠如に関連しており、これらがログイン時のルーチンと組み合わされると、アップデート応答に影響を与えることができる攻撃者が、ログインごとに任意のコードを実行することを許可する可能性があります。これらの脆弱性は以下のようにリストされています。
* **CVE-2026-42248**(CVSSスコア:7.7)- macOSバージョンとは異なり、インストール前にアップデートバイナリを検証しない署名検証の欠如の脆弱性。
* **CVE-2026-42249**(CVSSスコア:7.7)- WindowsアップデーターがHTTPレスポンスヘッダーからインストーラーのステージングディレクトリのローカルパスを直接生成し、サニタイズしないことに起因するパス・トラバーサルの脆弱性。
これらの脆弱性を悪用するには、攻撃者は被害者のOllamaクライアントからアクセス可能なアップデートサーバーを制御する必要があります。これにより、任意の実行可能ファイルがアップデートプロセスの一部として提供され、署名チェックの問題なしにWindowsのスタートアップフォルダーに書き込まれるシナリオにつながる可能性があります。
アプローチの1つは、OLLAMA_UPDATE_URLをオーバーライドして、クライアントをプレーンHTTPのローカルサーバーに向かわせることです。攻撃チェーンは、AutoUpdateEnabledがオンであることも想定しています。これはデフォルト設定です。
整合性チェックの欠如は、パス・トラバーサル脆弱性を悪用しなくても、それ自体でコード実行につながる可能性があります。この場合、インストーラーは期待されるステージングディレクトリにドロップされます。スタートアップフォルダーからの次回の起動中に、アップデートプロセスが署名の再検証なしに呼び出され、攻撃者のコードが実行されます。
このリモートコード実行は永続的ではありません。なぜなら、次回の正規アップデートでステージングされたファイルが上書きされるためですが、パス・トラバーサルを追加することで、悪意のあるアクターが実行可能ファイルを通常のパスの外に書き込むようにリダイレクトし、永続的なコード実行を実現できます。
協調開示プロセスを引き継いだ**CERT Polska**によると、Ollama for Windowsバージョン0.12.10から0.17.5は、これらの2つの脆弱性の影響を受けます。それまでの間、ユーザーは自動アップデートをオフにし、スタートアップフォルダー("%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup")から既存のOllamaショートカットを削除して、サイレントなログイン実行パスを無効にすることが推奨されます。
Dmitruk氏は、「バージョン0.12.10から0.22.0を実行しているOllama for Windowsのインストールはすべて脆弱です。パス・トラバーサルは、攻撃者が選択した実行可能ファイルをWindowsのスタートアップフォルダーに書き込みます。署名検証の欠如は、それらをそこに保持します。動作中のアプデーターで署名されていないファイルを削除する書き込み後のクリーンアップは、Windowsでは何もしません。次回のログイン時に、Windowsは残されたものを実行します。」
「このチェーンは、Ollamaを実行しているユーザーの権限レベルで、永続的かつサイレントなコード実行を生成します。現実的なペイロードには、リバースシェル、ブラウザの秘密情報やSSHキーを窃取する情報スティーラー、または追加の永続化メカニズムにピボットするドロッパーが含まれます。現在のユーザーとして実行されるものは何でも可能です。ドロップされたバイナリをスタートアップフォルダーから削除すると永続性は終了しますが、根本的な脆弱性は残ります。」