【高】CVE-2026-40110 jupyter_serverの不完全Origin検証による認証バイパス脆弱性解説 AI Security対策ガイド

結論
- 危険度: High (CVSS 7.3)
- 対象: jupyter-server <= 2.17.0
- 修正: 2.18.0
- KEV: No (NVD Critical由来。CISA KEVには未登録)
タイトルの緊急度プレフィックス(【至急】【最重大】等)の意味
| 表記 | 条件 | 意味 | 対応目安 |
|---|---|---|---|
| 【至急/ランサム悪用】 | CISA KEV登録 + ランサムウェア悪用観測 | ランサムグループが現在進行形で悪用 | 本日中に対応開始 |
| 【至急/重大】 | CISA KEV登録 + CVSS 9.0以上 | 実世界で攻撃観測あり + スコア極めて高い | 本日中に対応開始 |
| 【重大/KEV登録】 | CISA KEV登録(CVSS低またはNVD未反映) | 実世界で攻撃観測あり | 数日以内 |
| 【最重大】 | CVSS 9.5以上(KEV未登録) | 理論上の危険度ほぼ満点、攻撃観測はまだない | 1週間以内に対応計画 |
| 【重大】 | CVSS 9.0〜9.4(KEV未登録) | Critical帯の理論的高リスク | 1〜2週間以内 |
| 【高】 | CVSS 7.0〜8.9(KEV未登録) | High帯のリスク | 計画的に対応 |
| (プレフィックスなし) | CVSS 7.0未満 | Medium以下のリスク | 通常メンテで対応 |
「至急」と「最重大」の違い: 「至急」は CISA(米国政府機関)が 実際に悪用を観測した CVEに付与されます。「最重大」は CVSS スコア上は最高峰だが、まだ悪用観測がない ものです。同じCVSS 9.8でもKEV登録の有無で扱いが変わります。
最終更新: 2026-05-12 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 5分 |
| STEP 4 | 修正を適用する | 10分~環境による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-40110は、jupyter_serverでクロスオリジンリクエストの制限を攻撃者が突破できます。攻撃者は偽装したサイトからJupyter Serverの管理APIを操作可能です。LLMゲートウェイを運用するエンジニアは最優先で対応が必要です。
やさしく説明すると
Jupyter Serverはブラウザからのアクセスを受け付けますが、安全のため「信頼できるサイトだけ使ってください」と制限しています。今回の脆弱性は、その「信頼できるサイトかどうかの判定」でミスがあり、攻撃者が「まるで信頼されたサイトに見える偽サイト」を作れます。簡単に言うと、玄関の鍵が「特定の身内しか入れない」のに、合鍵の持ち主が知らずに偽者に鍵を渡してしまった状態です。それで攻撃者がJupyterサーバの中の大事な管理操作を不正にできてしまいます。
技術的な原因
問題の原因は、Jupyter ServerがHTTPヘッダーの「Origin」を確認するときに使うPythonの re.match() が部分一致しか見ません。これは、文字列の先頭だけチェックし、完全一致はしないためです。例えば、正規表現で「trusted.example.com」と指定しても、「trusted.example.com.evil.com」もマッチしてしまいます。これにより、攻撃者が管理している悪意あるサブドメインでAPIを呼べてしまい、CORS(クロスオリジンリソースシェアリング)制限をバイパスできます。
この脆弱性はCWE-777 (Incorrect Comparison) に分類され、安全な文字列比較を適切に行わないことに起因します。
影響を受けると何が困るか
- APIキー(OpenAIやAnthropicなど)の漏洩リスク
- LLMコンテキスト情報窃取による顧客データ流出
- プロンプトインジェクションを介したAgent操作の乗っ取り
- モデルやRAG(リトリーバル強化生成)データの不正改ざん
- クラウド請求コストの爆増
- 異なるテナント間での情報漏洩
- 関連インフラへの横展開による被害拡大
- CursorやCline、CopilotなどのAIコーディングツール経由でローカルファイル読み取りや任意コード実行の危険
- IDE拡張機能の遠隔操作による開発環境破壊や盗聴
- .envファイルや認証情報の漏洩
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | NVD(米国 NIST) | 英 | 米国政府の脆弱性データベース。CVSSスコア、影響を受けるCPE、参考リンクの総合ハブ。最も網羅的。 | 開く |
| 総合 | MITRE CVE | 英 | CVE採番機関の公式記録。CVE記述の「正本」。NVDより記載が簡潔だが一次情報。 | 開く |
| 総合 | JVN iPedia(JPCERT/CC・IPA) | 日 | 日本のCSIRTが運用する脆弱性対策情報データベース。日本語で概要・対策が読める。掲載がない場合あり。 | 開く |
| 総合 | CISA KEV(悪用観測カタログ) | 英 | 米国CISAが実際に悪用を確認している脆弱性のカタログ。掲載されていれば最優先で対応。 | 開く |
| 総合 | GitHub Advisory Database | 英 | OSSパッケージ(npm/pypi/maven/composer/go等)別の脆弱性アドバイザリ。修正PRへのリンクが豊富。 | 開く |
| 総合 | OpenCVE | 英 | 複数CVEデータベースの集約検索サービス。タイムラインや関連CVEの俯瞰に有用。 | 開く |
| Linux | Red Hat CVE | 英 | Red Hat製品(RHEL/CentOS Stream/Rocky/AlmaLinux系)の影響評価とパッチ状況。 | 開く |
| Linux | Ubuntu Security | 英 | Ubuntu の影響評価。各Ubuntuバージョン(22.04/24.04等)でのパッチ提供状況が一目で分かる。 | 開く |
| Linux | Debian Security Tracker | 英 | Debian の影響評価。stable/testing/sid別のパッチ状況。Debian派生ディストリ利用者向け。 | 開く |
| Linux | SUSE CVE | 英 | SUSE Linux Enterprise / openSUSE の影響評価とパッチ状況。 | 開く |
| 悪用 | Exploit Database | 英 | 公開エクスプロイトのアーカイブ。検出ツールやペネトレーションテストでの参照用。 | 開く |
| 悪用 | Packet Storm Security | 英 | セキュリティアドバイザリ・エクスプロイトの集約サイト。古めの情報も含む。 | 開く |
| 悪用 | GitHub PoC 検索 | 英 | GitHubコード検索でCVE IDを直接検索。野良PoCの早期発見に。 | 開く |
| 悪用 | X(Twitter)検索 | 日英 | 直近の議論やニュースを観測。In-the-wild悪用の早期検知に有用。 | 開く |
| スキャナ | Snyk Vulnerability DB | 英 | パッケージ別の脆弱性詳細と修正バージョン。OSS依存ライブラリ追跡に有用。 | 開く |
| スキャナ | Tenable(Nessus) | 英 | Nessusスキャナでの検出プラグイン情報。検出ロジックの参考に。 | 開く |
| スキャナ | Rapid7(Metasploit/Nexpose) | 英 | Metasploit悪用モジュール、Nexposeでの検出情報。 | 開く |
掲載しているのは無料でアクセスできる情報源のみです。CVEによっては掲載がないサイトもあります(特にJVN iPediaは日本国内で報告された脆弱性のみ掲載)。
STEP 2: 急ぎ対応すべきか判断する
結論: 高
判断根拠
- CVSSスコア 7.3 (High):ネットワークから低権限で攻撃可能。ユーザの操作は必要だが、成功すれば機密情報が大きく漏れる。
- EPSSスコア 0.03%(低め)であり、直近30日での悪用予測は低い。
- ランサムウェアによる悪用報告は現時点でなし。
- 公開されているPoCコードは現在存在しない。
- 攻撃条件はリモート攻撃可能だが、多少のユーザ操作(ブラウザからのアクセス)が必要。
- 攻撃者はドメインを偽装可能な権限を持っている必要があり、それがない場合は困難。
誰が動くべきか
- Notebookサーバ管理者(Jupyter Serverを本番で使う環境の運用チーム)
- LLM GatewayやAgentフレームワークの運用・SecOpsチーム
- バイブコーダー開発者、特にCursor/Cline/Aider/GitHub Copilot/Claude CodeなどのAI駆動開発ツールを使う開発者
- MLインフラチームやRAGパイプライン保守者も関連インフラとして注意が必要
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| jupyter-server | <= 2.17.0 |
2.18.0 |
バージョン確認コマンド
Python (pip)
pip show jupyter-server
出力例:
Name: jupyter-server
Version: 2.17.0
Summary: Jupyter Server backend
...
判定: Version が 2.17.0 以下なら脆弱。2.18.0 以上なら安全。
Python (poetry)
poetry show jupyter-server
出力例:
name : jupyter-server
version : 2.17.0
description : Jupyter Server backend
...
判定: version が 2.17.0 以下なら脆弱。
Docker
docker images | grep jupyter-server
出力例:
jupyter-server 2.17.0 sha256:xxxxx
判定: タグやラベルに 2.17.0 以下があれば脆弱。
設定確認
この脆弱性は設定依存ではなく、バージョンの脆弱範囲内であれば影響があります。
したがって、allow_origin_pat の値にかかわらず、脆弱です。設定変更だけでは対策になりません。
Nucleiテンプレートでの検出
本脆弱性に対する公開Nucleiテンプレートは現時点で提供されていません。検出はバージョン確認で対応ください。
STEP 4: 修正を適用する
パッチ適用
Python (pip)環境の場合
pip install --upgrade jupyter-server
判定: 最新版 2.18.0 以上が適用されているか確認。
Docker環境の場合
docker pull jupyter-server:2.18.0
docker stop
docker rm
docker run --name jupyter-server:2.18.0 ...
判定: イメージタグが 2.18.0 以上で再起動。
注意: パッチ適用前に必ずバックアップをとり、ステージング環境で検証を行ってください。ダウンタイム計画も忘れずに。
パッチ即時適用ができない場合の暫定対応
公式の暫定対応は提供されていません。暫定的には、Jupyter Serverのネットワークアクセスを信頼できる内部ネットワークに限定するなど外部からのアクセスを制限してください。
STEP 5: 修正されたことを確認する
STEP 3で実行したバージョン確認コマンドを再度実行してください。
期待される出力
Python (pip)
pip show jupyter-server
出力例:
Name: jupyter-server
Version: 2.18.0
Summary: Jupyter Server backend
...
判定: バージョンが 2.18.0 以上なら安全です。
Docker
docker images | grep jupyter-server
出力例:
jupyter-server 2.18.0 sha256:xxxxx
判定: イメージタグが 2.18.0 以上なら対応完了しています。
追加で確認すべきこと
- ログに不審なクロスオリジンアクセスの記録がないか監視してください。
- 可能ならベンダー提供のツールで再スキャンし、検証してください。
補足: 悪用観測状況
現時点でCISA KEVには未登録で、悪用事例は公表されていません。GitHub上のPoCも存在しないため、まだ広範囲な実悪用は報告されていません。しかし、CVSSスコアは高く将来的なリスクを含むため警戒が必要です。
補足: CVSSメトリクス詳細
- 攻撃元 (AV): NETWORK – 攻撃者はネットワーク経由で攻撃できる
- 攻撃複雑度(AC): LOW – 特殊な条件や技術的困難が少ない
- 必要権限 (PR): LOW – 低い権限でも攻撃可能
- ユーザ操作 (UI): REQUIRED – 被害者のユーザ操作が必要
- スコープ (S): UNCHANGED – 攻撃対象の権限境界は変わらない
- 機密性影響 (C): HIGH – 機密情報が漏洩する影響が大きい
- 完全性影響 (I): HIGH – 不正な改ざんが可能
- 可用性影響 (A): NONE – システムの停止には影響しない
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. STEP 3でバージョンを確認し、脆弱ならSTEP 4で 2.18.0 以上へアップグレードしてください。最後にSTEP 5で適用状況を確認します。
Q. パッチが適用できない場合、どうすればよいですか?
A. 公式の暫定対応はありません。ネットワーク制限で外部からのアクセスを遮断し、Jupyter Serverを内部ネットワークのみに限定してください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. ログに不審なクロスオリジンリクエストの履歴がないか調査してください。公式ツールやSIEMでのIOC確認も有効です。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは深刻度を示しますが、EPSSは「実際に悪用される確率」を示します。両方を確認することで対応優先度の判断がより正確になります。
Q. このCVEと類似の脆弱性は他にもありますか?
A. CWE-777(間違った比較処理)に分類される脆弱性は他にもあります。類似の正規表現が原因のCORSバイパス脆弱性などがあります。
参考文献
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
