MENU

CVE-2026-40171 Jupyter Notebook/ LabのストアドXSS脆弱性で認証情報漏洩の危険性 AIインフラ防御の5ステップ

  • URLをコピーしました!

AI Security速報をXで配信しています!!

AI/LLM関連の脆弱性、PoC、KEV追加などの更新情報を見逃したくない方は、Xをフォローしてねー!

Xでフォローする

本記事は公開時点の情報をもとにした速報記事です。内容が更新される場合があるため、必要に応じてベンダー公式情報や一次情報もあわせて確認してください。

目次

結論

  • 危険度: 情報なし
  • 対象: (詳細はベンダーアドバイザリ参照)
  • 修正: ベンダーアドバイザリ参照
  • 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 自分の環境が対象か確認する 5分〜環境による
STEP 4 修正を適用する 10分〜作業計画による
STEP 5 修正されたことを確認する 3分

STEP 1: 何が起きているか

一言でいうと

CVE-2026-40171はJupyter NotebookやJupyterLabの特定バージョンにある脆弱性です。攻撃者は悪意あるノートブックファイルで認証トークンを盗み、管理APIを完全に乗っ取れます。LLMゲートウェイやAI開発環境を運用する人には最優先で対応すべき問題です。

やさしく説明すると

イメージとしては、Jupyterのヘルプ画面に「見かけは正規のボタンそっくりだけど、仕込みがある罠」があります。ユーザーがうっかりクリックすると、その罠が動き出し認証情報を奪われます。玄関の鍵を開けたままにしているのと同じで、誰でも家の中に入り放題になる怖さです。これによりファイルの読み書きやシェル操作まで完全に制御されます。

技術的な原因

この脆弱性はクロスサイトスクリプティング(CWE-79:安全でないスクリプトがUIに保存され、他者が実行できる攻撃)に分類されます。Jupyterのhelpコマンドのリンク機能に保存される悪意あるスクリプトが埋め込まれ、悪意のあるノートブックのコンテンツと組み合わさることでトークン盗難へとつながります。

言い換えると、ユーザーが操作するヘルプリンクにスクリプトを混入できる設計ミスで、システム内部の権限を奪われる攻撃が行えます。

影響を受けると何が困るか

  • Jupyterの認証トークンが盗まれ、攻撃者はREST API経由で完全に乗っ取れる
  • ファイルの読み書きや改ざんが可能になる
  • カーネルを操作し任意のコード実行やシェルアクセスが可能となる
  • LLMアプリの開発・運用を行うAI GatewayやAgentフレームワークにも悪影響
  • AIコーディングツール(Cursor/Cline/GitHub Copilot等)を使った開発環境でもリスク
  • 環境内のAPIキーや.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スコアは公開されていませんが、CWE-79(クロスサイトスクリプティング)であるため権限奪取まで可能な問題点は重大
  • EPSSスコアは 0.13% と低く、直近30日間に悪用される確率は低め
  • ランサムウェア悪用の報告は現在なし
  • 公開PoCリポジトリやエクスプロイト情報は未確認
  • 攻撃には被害者が悪意あるノートブックを開いてクリックするユーザー操作が必要
  • 設定で緩和可能(help extensionの無効化やallowCommandLinker設定変更)が公式に示されている

誰が動くべきか

  • Jupyter NotebookやJupyterLabを利用しているMLインフラチーム
  • LLM Gateway運用チーム(LiteLLMやOpenRouterなど)でJupyter系ツールを使用中の方
  • Agentフレームワーク開発者(LangChainやAutoGenなど)
  • バイブコーダー開発者(Cursor、Cline、GitHub Copilot等のユーザー)
  • AIコーディングサンドボックス環境管理者

STEP 3: 自分の環境が対象か確認する

影響を受けるバージョン

製品 脆弱なバージョン範囲 修正版
Jupyter Notebook 7.0.0 ~ 7.5.5 7.5.6 以降
JupyterLab 4.5.6およびそれ以前 4.5.7 以降
@jupyter-notebook/help-extension 7.5.6より前 7.5.6 以上
@jupyterlab/help-extension 4.5.7より前 4.5.7 以上

バージョン確認コマンド

Python (pip)

pip show notebook

出力例:

Name: notebook
Version: 7.5.5
...

判定: バージョンが 7.0.0 以上かつ 7.5.5 以下なら脆弱。

pip show jupyterlab

出力例:

Name: jupyterlab
Version: 4.5.6
...

判定: バージョンが 4.5.6 以下なら脆弱。

Node.js (npm)

npm list @jupyter-notebook/help-extension

出力例:

@jupyter-notebook/help-extension@7.5.5
...

判定: バージョンが 7.5.6 未満なら脆弱。

npm list @jupyterlab/help-extension

出力例:

@jupyterlab/help-extension@4.5.6
...

判定: バージョンが 4.5.7 未満なら脆弱。

設定確認

この脆弱性はhelp extensionの機能設定に依存しています。公式の暫定対策として、help extensionを無効化するか、sanitize機能の allowCommandLinkerfalse に設定できます。設定を変更していない場合は脆弱です。

Nucleiテンプレートでの検出

現時点で公開されたNucleiテンプレートはありません。バージョン確認を基本の検出手段としてください。

STEP 4: 修正を適用する

パッチ適用

Python環境(pip使用時)

pip install --upgrade notebook jupyterlab @jupyter-notebook/help-extension @jupyterlab/help-extension

判定: バージョンが notebook==7.5.6jupyterlab==4.5.7@jupyter-notebook/help-extension==7.5.6@jupyterlab/help-extension==4.5.7 にアップデートされていれば安全。

注意: パッチ適用前に必ず全ノートブックのバックアップを取得してください。ステージング環境で動作確認し、本番環境はメンテナンス時間に作業してください。

パッチ即時適用ができない場合の暫定対応

  • help extensionの無効化:jupyter labextension disable @jupyterlab/help-extension等で無効化する
  • sanitize設定の allowCommandLinkerfalse に設定
  • ネットワークレベルで外部からの不審アクセスを遮断する

公式の暫定対応は上記の通りです。根本的な修正はアップデート適用必須です。

STEP 5: 修正されたことを確認する

STEP 3 で実行したバージョン確認コマンドを再実行してください。

期待される出力

Python (pip)

pip show notebook

出力例:

Name: notebook
Version: 7.5.6
...

判定: バージョンが 7.5.6 以上ならOK。

pip show jupyterlab

出力例:

Name: jupyterlab
Version: 4.5.7
...

判定: バージョンが 4.5.7 以上ならOK。

Node.js (npm)

npm list @jupyter-notebook/help-extension

出力例:

@jupyter-notebook/help-extension@7.5.6
...

判定: バージョンが 7.5.6 以上ならOK。

npm list @jupyterlab/help-extension

出力例:

@jupyterlab/help-extension@4.5.7
...

判定: バージョンが 4.5.7 以上ならOK。

追加で確認すべきこと

Nucleiテンプレートは未公開ですが、ログに不審なアクセスや異常なトークン利用がないか監視を継続してください。セキュリティ診断ツールを使い、拡張機能の設定状態を再度確認してください。

補足: 悪用観測状況

現時点でCISAやNVDにおいてランサムウェアグループなどによる悪用報告はありません。GitHub上にもPoCコードは公開されていません。EPSSスコアも低く実環境での悪用リスクは限定的と推察されますが、ユーザーの操作を必要とするため、標的型攻撃には潜在的なリスクがあります。

補足: CVSSメトリクス詳細

  • AV(攻撃元のアクセス経路): 未公開。通常ネットワーク経由でのアクセス可能性
  • AC(攻撃の難易度): 攻撃者のユーザー操作必要(クリックが必要)
  • PR(攻撃者の事前権限): 未認証ユーザーでも悪意あるノートブックを開く権限はある想定
  • UI(ユーザー操作): 必要(ユーザーの1回のクリックで発動)
  • S(範囲): Jupyterセッション全体が影響範囲
  • C(機密性への影響): 認証トークン流出によって完全喪失
  • I(完全性への影響): ファイルやコード改ざんも可能
  • A(可用性への影響): シェル操作による妨害や停止も可能

よくある質問(FAQ)

Q. このCVEに対応するために最低限すべきことは何ですか?

A. 最低でもSTEP 3のバージョン確認、STEP 4のアップデートまたは設定変更、STEP 5の再検証を実施してください。対象のJupyter NotebookやJupyterLabのバージョンを必ずチェックしてください。

Q. パッチが適用できない場合、どうすればよいですか?

A. STEP 4の暫定対応としてhelp extensionの無効化やallowCommandLinker設定をfalseにすることが推奨されます。さらにネットワーク隔離やアクセス制御も検討してください。

Q. 既に攻撃を受けているか確認する方法はありますか?

A. ログ監視で不審な認証トークン使用や不明なファイル操作をチェックし、ベンダー提供のIOC(侵害兆候情報)があればそれも活用してください。

Q. なぜEPSSスコアが重要なのですか?

A. CVSSは脆弱性の技術的深刻度を示しますが、EPSSは実際に悪用される可能性を予測します。両方を参考に優先度を決めると効率的な対応が可能です。

Q. このCVEと類似の脆弱性は他にもありますか?

A. CWE-79(クロスサイトスクリプティング)に分類される脆弱性は多く存在します。Jupyter製品や類似のAIツールで同種のリスクを見直すことが重要です。

参考文献

本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。

AI Security速報を継続配信しています!!

AI/LLM関連の脆弱性、PoC、KEV追加、海外アドバイザリなどを X で配信してるので、ぜひフォローをお願いします!

@ai_sec_news_256 をフォロー

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次