Ollama メモリリークを再現:CVE-2026-7482 高危険度

🚨 Ollama メモリリーク脆弱性を再現:CVE-2026-7482 高危険度
セキュリティ研究者らによる再現により、Ollama のメモリリーク脆弱性(CVE-2026-7482)が確認されました。これはheap out-of-bounds read脆弱性です:
- 影響を受けるバージョン:Ollama 0.17.1 より前のすべてのバージョン
- 脆弱性タイプ:ヒープの範囲外読み取り(CWE-125)
- 攻撃経路:/api/create → GGUF ロード → 量子化 → メモリリーク → /api/push で持ち出し
- 漏洩データ:環境変数、API Keys、システムプロンプト、ユーザー会話
- 認証なし:/api/create と /api/push エンドポイントには認証がない
🎯 脆弱性の核心
GGUF Model Loader 脆弱性
脆弱性の位置はGGUF model loaderです:
- /api/createエンドポイントが攻撃者から提供された GGUF ファイルを受け付ける
- tensor offset と sizeがファイルの実際の長さを超えている
- 量子化処理において、割り当てられたヒープバッファの範囲を超えて読み取る
- 位置:fs/ggml/gguf.go と server/quantization.go(WriteTo())
メモリリークの内容
漏洩するメモリの内容には以下が含まれる可能性があります:
| 漏洩データ | リスク |
|---|---|
| 環境変数 | 機密設定が含まれている可能性 |
| API Keys | 高危険度:API キーの露出 |
| システムプロンプト | 内部設定の露出 |
| 同時実行ユーザーの会話データ | 高危険度:プライバシーの漏洩 |
データ持ち出しの経路
漏洩したメモリの内容は/api/pushエンドポイント経由で外部に持ち出される可能性があります:
- モデルのアップロード:生成されたモデル artifact をアップロード
- 攻撃者の registry:攻撃者が管理する registry へアップロード
- 認証なし:上流の配布ではエンドポイントに認証がない
⚠️ リスクレベル
CVSS 4.0 スコア
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/AU:Y/R:A/V:D/RE:L/U:Red
| ディメンション | スコア | 説明 |
|---|---|---|
| 攻撃ベクトル | ネットワーク(AV:N) | ネットワーク経由で攻撃可能 |
| 攻撃複雑度 | 低(AC:L) | 攻撃は容易 |
| 権限要件 | なし(PR:N) | 認証不要 |
| ユーザー操作 | なし(UI:N) | ユーザー操作不要 |
| 機密性への影響 | 高(VC:H) | 機密性への影響が大 |
| 可用性への影響 | 高(VA:H) | 可用性への影響が大 |
📊 影響を受けるデプロイ
デフォルト設定
Ollama のデフォルトのバインド先は127.0.0.1ですが、OLLAMA_HOST=0.0.0.0という設定も広く使われています:
- デフォルトのバインド:127.0.0.1(ローカル)
- 公開露出:OLLAMA_HOST=0.0.0.0(広く使用されている)
- 大規模な露出:公開ネットワークに大量の露出が確認されている
高危険度のシナリオ
| シナリオ | リスク |
|---|---|
| 公開ネットワークに露出した Ollama | 極めて高い:直接攻撃が可能 |
| 複数ユーザーで共有する Ollama | 高い:他のユーザーの会話が漏洩する可能性 |
| 機密性の高い API Keys を含む場合 | 高い:API Keys の漏洩 |
| ローカルデプロイ | 中:ローカルアクセスが必要 |
🔧 緩和策
対策 1:0.17.1 以上へアップグレード(推奨)
# 升级 Ollama # macOS brew upgrade ollama # Linux curl -fsSL https://ollama.com/install.sh | sh
修正内容:パッチにより GGUF loader の範囲外読み取りの問題が修正されました。
対策 2:ネットワーク露出を制限
# 不要使用 0.0.0.0 绑定 # 保持默认 127.0.0.1 OLLAMA_HOST=127.0.0.1
対策 3:ファイアウォールによる制限
# 限制 /api/create 和 /api/push 端点访问 # 只允许可信来源
対策 4:不審な GGUF ファイルを監視
- GGUF ファイルの検査:tensor offset と size が妥当かどうか
- /api/create の監視:アップロードされた GGUF ファイルの送信元を記録
- /api/push の監視:アップロード先の registry を記録
🚀 再現ステータス
再現済み:セキュリティ研究者らがこの脆弱性の再現に成功しました:
- 再現条件:Ollama < 0.17.1
- 攻撃経路:悪意のある GGUF をアップロード → 量子化をトリガー → メモリリーク
- 漏洩の検証:環境変数と会話データの漏洩に成功
- 持ち出しの検証:/api/push を経由したデータ持ち出しに成功
📅 パッチ情報
| 情報 | リンク |
|---|---|
| 修正バージョン | v0.17.1 |
| パッチコミット | 88d57d0483 |
| PR | #14406 |
📝 まとめ
Ollama CVE-2026-7482 メモリリーク脆弱性は再現済みです:
- Ollama 0.17.1 より前のすべてのバージョンに影響
- ヒープの範囲外読み取り、CWE-125
- 漏洩内容:環境変数、API Keys、システムプロンプト、ユーザー会話
- 持ち出し経路:/api/push で攻撃者の registry へアップロード
- 認証なしエンドポイント:/api/create と /api/push
- 公開露出リスク:OLLAMA_HOST=0.0.0.0 が広く使用されている
- 緩和策:0.17.1 以上へアップグレード、またはネットワーク露出を制限
再現済みの高危険度脆弱性です。ただちにアップグレードするか、露出を制限してください。
NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-7482
修正バージョン:https://github.com/ollama/ollama/releases/tag/v0.17.1