NVIDIA NemoClawのOllama連携に脆弱性
DNSリバインディングでチャットテンプレートが書き換えられるCVE-2026-65105を解説
2026年8月25日、Oasis SecurityはNVIDIA NemoClawのOllama連携設定に起因する脆弱性CVE-2026-65105を公開した。DNSリバインディングでチャットテンプレートが書き換えられ、会話に永続的な指示が注入される仕組みと、影響確認の手順・緩和策を技術者向けに解説する記事である。
2026年8月25日、Oasis SecurityはNVIDIA NemoClawとOllamaの連携設定に起因する脆弱性CVE-2026-65105を公開した。攻撃者が用意した1枚のWebページを閲覧しただけで、DNSリバインディングにより開発者のローカルOllamaインスタンスに到達し、AIエージェントが参照するチャットテンプレートを書き換えて、以後の会話すべてに気づかれない指示を注入できる。macOS/LinuxはNemoClaw v0.0.35で修正済みだが、本稿執筆時点でWindows/WSLは未修正である。該当プラットフォームの利用者は、NemoClawの更新、Ollamaの待ち受けアドレスの確認、ファイアウォールでの11434番ポート遮断を直ちに行うべきである。
CVE-2026-65105の概要
| 項目 | 内容 |
|---|---|
| CVE番号 | CVE-2026-65105 |
| 影響を受ける製品 | NVIDIA NemoClaw(OpenClawベースのAIエージェント。Ollamaと連携してローカル推論を行う) |
| 修正状況 | macOS/Linux: v0.0.35で修正済み/Windows・WSL: 本稿執筆時点で未修正 |
| 報告者 | Oasis Security(Elad Luz氏、Ofek Itach氏) |
| 公開日 | 2026年8月25日 |
| 報告先 | NVIDIA PSIRT(責任ある開示) |
NemoClawとOllamaの関係
NemoClawは、NVIDIAがオープンソースのAIエージェントフレームワークOpenClawをOpenShellサンドボックス内にデプロイするためのラッパーである。エージェントがローカルで動くLLMを参照できるよう、NemoClawは内部的にOllama(ローカル推論サーバー)を自動起動するが、その際に既定の127.0.0.1ではなくOLLAMA_HOST=0.0.0.0:11434で全ネットワークインターフェースに待ち受けさせる設定になっていた。インストール時の案内には「localhost:11434」と表示されるため、利用者は自分の環境がループバック限定だと誤認しやすい。企業がOpenClaw系のAIエージェントをどう安全に導入するかはエンタープライズ向けNemoClawセキュリティアーキテクチャ、中小企業向けの導入判断は中小企業向けNemoClaw活用ガイドで解説している。
DNSリバインディングとは
DNSリバインディングは、攻撃者が自分の管理するドメインのDNS応答を操作し、ブラウザに「同一オリジン」だと誤認させたまま実際には別のIPアドレス(多くはループバックアドレス127.0.0.1)へリクエストを送らせる手法である。攻撃者はまず自分のドメインを短いTTLで攻撃者サーバーのIPに解決させてWebページを読み込ませ、その後DNS応答を127.0.0.1へ切り替える。ブラウザの同一オリジンポリシーはホスト名単位で判定されるため、実際に到達する先のIPアドレスが変わっても、ブラウザは「同じオリジンへのリクエスト」として扱ってしまう。被害者のネットワークやDNSサーバーへの侵入は不要で、被害者に悪意あるページを一度開かせるだけで成立する点が特徴である。Ollama自体も過去に同種の問題(CVE-2024-28224、2024年3月のv0.1.29で修正)に対処し、Hostヘッダ検証を導入しているが、この検証はOllamaがループバックアドレスで待ち受けている場合にのみ有効に機能する。NemoClawのように0.0.0.0でバインドすると、この検証自体がスキップされ、攻撃者が用意したHostヘッダがそのまま通過してしまう。「ローカルにしかバインドしていないから安全」という前提は、バインドアドレスが実際にループバックであると確認できて初めて成り立つ。
何が書き換えられるのか — チャットテンプレート汚染
OllamaのAPIには標準では認証機構がない。到達可能になった攻撃者は、まず/api/tagsでインストール済みモデルの一覧を取得し、/api/showで対象モデルが現在使っているGoテンプレート(会話履歴やシステムプロンプトをモデルへの入力テキストへ整形するチャットテンプレート)を取得する。そのテンプレートに攻撃者の指示文を追記した上で/api/createエンドポイントへ送り返し、同名モデルを上書きする。チャットテンプレートはメッセージのレンダリング処理そのものであるため、この汚染は特定の会話1回限りではなく、そのモデルを呼び出すすべての以後の会話に対して、システムメッセージの後ろに攻撃者の指示が毎回自動的に追記される形で永続する。ユーザーが送るプロンプトにも、開発者が設定するシステムプロンプトにも汚染の痕跡は見えない。「会話の外側」にあるテンプレートという層が書き換えられているため、入力のフィルタリングやガードレールといった通常のプロンプトインジェクション対策では検知できない点が深刻である。

影響を受けるか確認する手順
# NemoClawのバージョン確認
nemoclaw --version
# Ollamaが待ち受けているアドレスを確認(0.0.0.0や::であれば要注意)
lsof -iTCP:11434 -sTCP:LISTEN
# または
netstat -an | grep 11434
# OLLAMA_HOSTの環境変数設定を確認
echo $OLLAMA_HOST
# 使用中モデルのチャットテンプレートに不審な追記がないか確認
ollama show <model> --template- NemoClawのバージョン: macOS/LinuxはNemoClaw v0.0.35以降であれば修正済み。それ未満は要更新
- Windows/WSL利用者: 本稿執筆時点で修正版が存在しないため、後述の緩和策を優先する
- 待ち受けアドレス: 0.0.0.0や::でリッスンしている場合、ネットワーク上のどこからでも到達可能な状態にある
- 他端末からの疎通: 同じLAN上の別端末やスマートフォンのブラウザからポート11434へアクセスできてしまう場合、ブラウザ経由の攻撃が成立し得る
緩和策
- NemoClawの更新: macOS/LinuxはただちにNemoClaw v0.0.35以降へ更新する
- Windows/WSLでの回避策: 修正版が出るまでは、OllamaをNemoClaw経由で自動起動させず、OLLAMA_HOST=127.0.0.1を明示して手動起動する
- ループバック限定バインド: OLLAMA_HOSTを設定しないか、127.0.0.1:11434を明示指定し、0.0.0.0でのバインドを避ける
- OLLAMA_ORIGINSの許可リスト化: 外部公開が必要な場合でも、ワイルドカード(*)ではなく実際に利用するオリジンのみをOLLAMA_ORIGINSで明示的に許可する
- ファイアウォールでのポート遮断: 11434番ポートへの外部からのアクセスをOS・ネットワークファイアウォールで拒否する
- チャットテンプレートの定期確認: ollama show <model> --template(またはAPI経由の/api/show)で、意図しない文字列がテンプレートに追記されていないか定期的に確認する
バージョン番号については補足がある。NemoClawのローカルOllamaプロキシは、ループバックにバインドされていないバックエンドに対しては起動を拒否するようになっており、この既定値は2026年8月10日のv0.0.106で導入された。ただしこの防御は、0.0.0.0バインドが設定されるWindows/WSLの導入経路には届かない。したがって「v0.0.106以降だから安全」とは言えず、プラットフォームごとに待ち受けアドレスを実機で確認する必要がある。
ローカルLLMを社内で動かす際の設計指針
今回の問題はNemoClaw固有のバグというより、「開発者の利便性のためにローカル推論サーバーをネットワーク全体に公開し、ブラウザからの到達性を軽視する」という設計パターンに起因する。Ollamaに限らず、LM Studio・vLLMなど他のローカル推論サーバーを社内で運用する場合も、同型のリスクが当てはまる。境界を「社内ネットワークだから安全」と一括りにせず個々のエンドポイントで検証する考え方は、ゼロトラストセキュリティガイドで解説している一般原則とも一致する。
| 観点 | 確認ポイント |
|---|---|
| バインドアドレス | 推論サーバーをループバック(127.0.0.1)限定にし、必要な場合のみリバースプロキシ経由で認証を挟んで公開する |
| 認証 | 推論サーバー自体に認証機構がない前提で、手前にAPIキー検証やmTLSを持つプロキシを置く |
| オリジン制御 | ブラウザからの到達を想定し、許可オリジンをワイルドカードにしない |
| 設定変更の検知 | モデル定義・システムプロンプト・チャットテンプレートの変更を監視・バージョン管理する |
| エージェントの権限範囲 | AIエージェントに与えるソースコード管理・クラウド認証情報のスコープを最小化し、汚染された指示が実害に至る経路を減らす |
よくある質問
このCVEはNVIDIA製品以外にも影響しますか?
CVE-2026-65105自体はNVIDIA NemoClawがOllamaを0.0.0.0でバインドする設定に起因するものであり、Ollama単体の脆弱性ではない。ただし、ローカル推論サーバーを非ループバックでバインドし、Hostヘッダ検証やオリジン制御を適切に行っていない構成であれば、同種のDNSリバインディング攻撃が成立し得る。
すでに攻撃を受けたかどうかはどう確認できますか?
使用しているモデルのチャットテンプレートをollama show <model> --templateなどで取得し、システムプロンプトの末尾やテンプレートの構造に見覚えのない指示文が追記されていないか確認する。過去との比較が難しい場合、疑わしいモデルは一度削除し、公式配布元から再取得することを推奨する。
Windows/WSL環境でNemoClawを今すぐ使い続けても大丈夫ですか?
本稿執筆時点でWindows/WSL向けの修正は公開されていない。使い続ける場合は、OllamaをNemoClaw経由で自動設定させずOLLAMA_HOST=127.0.0.1を明示した状態で自分で起動し、外部ネットワークから到達不能なことを都度確認するなど、緩和策を徹底した上で利用する必要がある。
プロンプトインジェクション対策(ガードレール)を導入していれば防げますか?
防げない可能性が高い。今回の攻撃はユーザー入力やシステムプロンプトの内容を汚染するのではなく、その手前でメッセージをレンダリングするテンプレート自体を書き換える。入力側のフィルタリングやガードレールは汚染後のテンプレートが生成した最終的な入力テキストしか見えないため、注入された指示を通常のプロンプトと区別できない。
DNSリバインディングを防ぐ一般的な方法は?
サーバー側でHostヘッダを検証し、想定外のホスト名でのリクエストを拒否することが基本である。加えて、ローカル専用のサービスはそもそもブラウザから到達可能なネットワークインターフェースにバインドしないことが、根本的な対策になる。
まとめ
CVE-2026-65105は、NVIDIA NemoClawがOllamaを0.0.0.0で待ち受けさせ、かつHostヘッダ検証がループバック限定でしか機能しないという2つの設計上の弱点を、DNSリバインディングで組み合わせて突く脆弱性である。攻撃者はWebページを1つ閲覧させるだけで、チャットテンプレートという会話の外側のレイヤーを書き換え、以後のすべてのやり取りに気づかれない指示を永続的に注入できる。macOS/LinuxはNemoClaw v0.0.35で修正済みだが、Windows/WSLは本稿執筆時点で未修正であり、利用者は自らOllamaの待ち受けアドレスを固定し、ファイアウォールで11434番ポートを遮断するなどの緩和策を講じる必要がある。ローカルLLMをどのツールで動かすにせよ、推論サーバーをブラウザから到達可能な状態で放置しないことが、今回の教訓である。
この記事に関連する無料ツール(登録不要・その場で結果)
お気軽にご相談ください
お問い合わせ