CVE-2026-40171 Jupyter Notebook/JupyterLabのクロスサイトスクリプティング脆弱性による認証情報漏洩対策ガイドAI Security向け

結論
- 危険度: 情報なし
- 対象: @jupyter-notebook/help-extension >= 7.0.0, <= 7.5.5 / notebook >= 7.0.0, <= 7.5.5 / jupyterlab <= 4.5.6
- 修正: 7.5.6 / 4.5.7
- 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 | 何が起きているか理解する | 5分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 3分〜環境による |
| STEP 4 | 修正を適用する | 環境による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-40171 は Jupyter Notebook や JupyterLab に存在する脆弱性です。攻撃者は悪意のあるノートブックファイルを用いて認証トークンを盗み、認証なしで操作やコード実行が可能になります。AI/LLMの運用者にとって非常に危険です。
やさしく説明すると
Jupyter は開発者がプログラムを書く便利なツールです。しかし今回、ノートブックに仕込んだ「見た目は普通のボタン」を使って犯罪者が玄関の鍵をこっそり盗めるような弱点が見つかりました。鍵を盗まれると、家の中を好き放題されるのと同じく、Jupyterでの作業を乗っ取られます。特にAIサービスを動かす本人には深刻な問題です。
技術的な原因
本脆弱性は CWE-79(クロスサイトスクリプティング:XSS)に分類されます。XSSはウェブ画面に悪意あるコードを埋め込み、利用者のブラウザ上で実行させる攻撃手法です。今回の脆弱性はノートブックやJupyterLabのヘルプコマンドリンク機能に保管型(stored)XSSが存在し、攻撃者が仕込んだノートブック内の隠し要素がユーザ操作時に悪用されてしまいます。
これによりユーザーの認証トークンを盗み出せます。トークンを盗むとREST API経由でJupyterセッション全体を制御可能です。ファイル読み書きやカーネルを使った任意コード実行、シェルの端末作成も可能になるため、AI Security上の大きなリスクです。
影響を受けると何が困るか
- 攻撃者はJupyterの認証トークンを盗むことでAI GatewayやAgent環境の完全操作ができる
- ノートブック上のAIやLLMで扱う機密顧客データや機密情報が漏洩するリスク
- プロンプトやモデルを改ざんされ、偽情報を生成・悪用される可能性
- AIコーディングツール(Cursor/Cline/GitHub Copilotなど)を使うバイブコーダーの作業環境が乗っ取られる危険
- 認証トークン奪取により事実上のリモートコード実行(RCE)攻撃へ繋がる
- JupyterLabやNotebookのKernelアクセスで、任意のAIエージェント連携機能やシェル操作も奪われる
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | 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スコアは未公開だが、CVE-2026-40171はXSSの一種で攻撃成功にはユーザー操作が必要なため緊急度は低め
- EPSSスコアは
0.13%(悪用される直近30日間予測確率)で低い - CISA KEV(既知悪用脆弱性リスト)には未登録(ランサムウェアなど深刻な悪用観測なし)
- 現在、公開PoCやExploitはGitHub Advisory Databaseにもエクスプロイト情報は存在しない
- 攻撃には悪意あるノートブックをユーザーが開き操作する必要があるため、リモートからの自動攻撃は難しい
誰が動くべきか
- Jupyter NotebookおよびJupyterLabの運用チーム
- AI Gateway・Agentフレームワーク群のSRE/SecOpsチーム
- Cursor/Cline/GitHub Copilot等のAI駆動開発環境管理者
- バイブコーダー開発者もJupyter経由でワークフローを組む場合は注意が必要
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| @jupyter-notebook/help-extension (npm) | ≥ 7.0.0, ≤ 7.5.5 | 7.5.6 |
| notebook (pip) | ≥ 7.0.0, ≤ 7.5.5 | 7.5.6 |
| jupyterlab (pip) | ≤ 4.5.6 | 4.5.7 |
| @jupyterlab/help-extension (npm) | ≤ 4.5.6 | 4.5.7 |
バージョン確認コマンド
Python(pip)
pip show notebook
出力例:
Name: notebook
Version: 7.5.5
Summary: Jupyter Interactive Notebook
...
判定: バージョンが 7.0.0 以上かつ 7.5.5 以下なら脆弱です。
Python(pip)
pip show jupyterlab
出力例:
Name: jupyterlab
Version: 4.5.6
Summary: JupyterLab Interactive Development Environment
...
判定: バージョンが 4.5.6 以下なら脆弱です。
Node.js(npm)
npm list @jupyter-notebook/help-extension
出力例:
@project
└── @jupyter-notebook/help-extension@7.5.5
判定: バージョンが 7.0.0 以上かつ 7.5.5 以下なら脆弱です。
Node.js(npm)
npm list @jupyterlab/help-extension
出力例:
@project
└── @jupyterlab/help-extension@4.5.6
判定: バージョンが 4.5.6 以下なら脆弱です。
設定確認
この脆弱性は特定のhelp-extensionのバージョンに限られます。したがって該当バージョンを使っていれば脆弱です。設定依存ではないため、バージョンが該当していれば必ず脆弱と考えてください。
Nucleiテンプレートでの検出
本脆弱性に関して公開されたNucleiテンプレートはありません。検出はバージョン確認を優先してください。
STEP 4: 修正を適用する
パッチ適用
Python環境(pip)
pip install --upgrade notebook jupyterlab
判定: バージョンが 7.5.6(notebook)および 4.5.7(jupyterlab)以上なら安全です。
Node.js環境(npm)
npm install @jupyter-notebook/help-extension@7.5.6 @jupyterlab/help-extension@4.5.7
判定: バージョンが 7.5.6(help-extension)および 4.5.7(jupyterlab help-extension)以上なら安全です。
注意: パッチ適用前には必ず環境のバックアップを取得してください。適用後はステージング環境で動作確認し、本番適用の計画を立てましょう。
パッチ即時適用ができない場合の暫定対応
- CLIで該当のhelp-extensionを無効化する
jupyter labextension disable @jupyter-notebook/help-extension
jupyter labextension disable @jupyterlab/help-extension
- または設定ファイルの sanitizer で
allowCommandLinkerをfalseに設定する
公式の暫定対応は以上の通りであり、設定無効化が唯一の一時回避策です。
STEP 5: 修正されたことを確認する
STEP 3 で実行したバージョン確認コマンドを再度実施します。
期待される出力
Python(pip)
pip show notebook
出力例:
Name: notebook
Version: 7.5.6
Summary: Jupyter Interactive Notebook
...
判定: バージョンが 7.5.6 以上であれば安全です。
Python(pip)
pip show jupyterlab
出力例:
Name: jupyterlab
Version: 4.5.7
Summary: JupyterLab Interactive Development Environment
...
判定: バージョンが 4.5.7 以上であれば安全です。
Node.js(npm)
npm list @jupyter-notebook/help-extension
出力例:
@project
└── @jupyter-notebook/help-extension@7.5.6
判定: バージョンが 7.5.6 以上であれば安全です。
Node.js(npm)
npm list @jupyterlab/help-extension
出力例:
@project
└── @jupyterlab/help-extension@4.5.7
判定: バージョンが 4.5.7 以上であれば安全です。
追加で確認すべきこと
- 該当のhelp-extensionを無効化している場合は有効化を再検討
- システムログを確認し、不審な認証トークンの利用や不正アクセスの痕跡を監視する
- 公開PoCは現時点でないため、公式アドバイザリの更新情報を定期チェック
補足: 悪用観測状況
現時点でCISA KEVには登録されておらず、ランサムウェアなどの悪用報告はありません。GitHubの公開PoCやExploitリポジトリにも該当無し。EPSSスコアも0.13%と低いため、現実的な悪用はまだ確認されていません。ただしJupyter利用環境でのリスクは高いため継続注視が必要です。
補足: CVSSメトリクス詳細
- AV(攻撃元の接近性): 不明(ネットワーク経由・ローカル両面ありうる)
- AC(攻撃の難易度): 中(攻撃者は悪意あるノートブックとユーザのクリックが必要)
- PR(特権レベル): なし(未認証攻撃可能)
- UI(ユーザーの関与): 必須(ユーザが悪意ある操作を1回クリック)
- S(範囲): 不明(同一ホスト内アクセスが中心)
- C(機密性): 高(認証トークンの漏洩により完全乗っ取り可能)
- I(完全性): 高(ファイルやコードの改ざん可能)
- A(可用性): 高(シェル起動やセッション操作に悪用可能)
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. STEP 3で脆弱バージョンか確認し、STEP 4のパッチ適用または拡張機能の無効化を実施してください。具体的なコマンドは本記事内に記載しています。
Q. パッチが適用できない場合、どうすればよいですか?
A. help-extensionをCLIで無効化するなどの暫定対応を実施してください。設定で allowCommandLinker を false にすることも効果的です。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. 認証トークンの不正利用や不審なAPIアクセスログを監視し、問題のあるノートブックのアップロード履歴を確認してください。公式のIOCは現時点でありません。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは理論的リスク評価ですが、EPSSは実際に悪用される確率を示します。両方を参考にすることで優先度判断の精度が高まります。
Q. このCVEと類似の脆弱性は他にもありますか?
A. CWE-79に分類されるXSS攻撃は多くのウェブアプリやAI開発環境で問題になります。特にJupyter周辺では過去に類似のXSS脆弱性が報告されています。
参考文献
- NVD – CVE-2026-40171
- GitHub Advisory GHSA-rch3-82jr-f9w9
- CISA KEV Catalog
- Snyk Vulnerability Database
- OpenCVE – CVE-2026-40171
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
2026-05-13 追記
本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 0日)。
| 項目 | 公開時点 | 2026-05-13時点 | 変化の意味 |
|---|---|---|---|
| CVSSスコア変化 | 9 (Critical) | 8.4 (HIGH) | NVD再評価でスコアが下方修正 |
| タイトルプレフィックス未付与 | (プレフィックスなし) | 【高】 | 公開時はタイトルに危険度プレフィックスが付いていない。最新状況では付与が妥当(記事生成時の凡ミス補正) |
CVSSスコア変化
公開当初、NVD(National Vulnerability Database)によって CVE-2026-40171 のCVSSスコアは 9 (Critical) と評価されていましたが、最新の再評価により 8.4 (HIGH) へと引き下げられました。スコアが Critical から HIGH へ下方修正されたことにより、運用上の緊急度や優先度の目安も変わります。公式な脅威評価やリスク対応計画の見直しが必要となりますが、依然として「高リスク」帯には属するため、意図的な緩和や対応猶予を置く場合も定期的な情報更新と実態に応じた判断が求められます。
本脆弱性は依然として認証トークンの窃取やシステム乗っ取りの危険があるため、Critical判定ほどの緊急性は無くなったとはいえ、引き続き速やかな修正計画が推奨されます。現時点の最新CVSS値と公式アドバイザリの情報に基づいて、対策の優先順位を調整してください。
タイトルプレフィックス未付与
記事公開時点では、タイトルに危険度を示す「プレフィックス」が付与されていませんでしたが、CVSS再評価を受けて最新では「【高】」のプレフィックスが付与される運用へと内容が訂正されています。これは記事公開時の凡ミス補正であり、実際の危険度情報を正確に示すための対応となります。CVSS 8.4(HIGH)に該当する場合、本来は【高】のプレフィックスが付与されるべき運用ルールとなっています。
タイトルの危険度プレフィックスはインシデント対応の現場で優先度を迅速に判断する目印として重要です。現時点で「【高】」が付いていない記事や通知が残っている場合は、今回の判定修正・プレフィックス付与に合わせ管理者・関係者への注意喚起や補足対応を推奨します。
