結論:Marimoを0.20.4以上にアップデートしてください
データサイエンス向けPythonノートブック「Marimo」に、CVSS 9.3(Critical)の認証なしリモートコード実行(RCE)脆弱性 CVE-2026-39987が発見されました。この脆弱性は公開からわずか10時間で実環境での悪用が確認されています。
Marimoをサーバーモードで公開している環境、特に社内のデータ分析基盤やMLパイプラインで利用している場合は即時対応が必要です。
EMERGENCY RESPONSE
この脆弱性、貴社システムは影響を受けますか?
影響範囲の一次評価を無料で実施。致命的脆弱性は24時間以内にアラートし、パッチ適用・恒久対応まで伴走します。
CVE-2026-39987 の概要
横にスクロールして確認できます
| 項目 | 内容 |
|---|---|
| CVE番号 | CVE-2026-39987 |
| CVSS v3.1 スコア | 9.3(Critical) |
| 脆弱性の種類 | リモートコード実行(RCE) |
| 攻撃の前提条件 | 認証不要・リモートから実行可能 |
| 影響を受けるバージョン | Marimo 0.20.3 以下 |
| 修正バージョン | Marimo 0.20.4 |
| 悪用状況 | 脆弱性公開から10時間で悪用開始 |
攻撃の仕組み
CVE-2026-39987は、MarimoのWebサーバーコンポーネントにおける入力値のサニタイズ不備に起因します。Marimoはノートブックの実行結果をWebブラウザ上で表示するために独自のWebサーバーを起動しますが、このサーバーが受け付けるリクエストの処理に脆弱性がありました。
攻撃者は特別に細工したHTTPリクエストを送信するだけで、Marimoが稼働するサーバー上で任意のPythonコードを実行できます。Marimoはデータ分析に使用されるツールであるため、実行環境には通常、以下のような機密情報やリソースへのアクセス権限があります。
- データベースへの接続情報(クレデンシャル)
- 機械学習モデルと学習データ
- API キー(クラウドサービス、外部データソース)
- 社内ネットワーク上の他システムへのアクセス
「公開10時間で悪用」が示す脅威の変化
CVE-2026-39987の最大の教訓は、脆弱性情報が公開されてから攻撃が開始されるまでの時間が極めて短いという現実です。
脆弱性公開から悪用開始までの時間の推移
横にスクロールして確認できます
| 年 | 代表的な事例 | 公開→悪用の時間 |
|---|---|---|
| 2020年 | SolarWinds(サプライチェーン) | 数ヶ月(ゼロデイとして潜伏) |
| 2021年 | Log4Shell(CVE-2021-44228) | 約9時間 |
| 2023年 | MOVEit Transfer(CVE-2023-34362) | 約24時間 |
| 2024年 | XZ Utils(CVE-2024-3094) | 発見前に長期潜伏 |
| 2026年 | Marimo(CVE-2026-39987) | 約10時間 |
この短縮が企業に意味すること
-
「来週の定例パッチ適用で対応する」では間に合わない — 10時間は、日本の営業時間に換算するとほぼ1営業日です。朝の脆弱性公開を見逃せば、退社時にはすでに攻撃を受けている可能性があります。
-
自動化された攻撃ツールの普及 — 攻撃者はPoCコード(概念実証コード)が公開されると即座にスキャナーに組み込み、インターネット全体を自動スキャンします。手作業では到底追いつけない速度です。
-
セキュリティ情報の収集体制が必須 — 脆弱性情報を「気づいたら対応する」運用では致命的な遅れが生じます。JPCERT/CC、NVD、ベンダーのセキュリティアドバイザリを常時監視する体制が求められます。
データサイエンスツールのセキュリティリスク
Marimoの脆弱性は氷山の一角です。データサイエンス・機械学習で使用されるツール群は、セキュリティの観点で見落とされがちな領域です。
なぜデータサイエンスツールが狙われるのか
横にスクロールして確認できます
| リスク要因 | 詳細 |
|---|---|
| 認証なしでの公開 | JupyterやMarimoを「社内だから」と認証なしで公開しているケースが多い |
| コード実行が前提の設計 | ノートブックの本質はコード実行環境であり、RCE脆弱性のインパクトが大きい |
| 高権限での実行 | データベース接続情報、APIキー、クラウドクレデンシャルにアクセス可能 |
| セキュリティ意識の低さ | データサイエンティストはセキュリティ専門家ではなく、ツールの脆弱性に対する意識が低い傾向 |
| パッチ適用の遅れ | 分析環境は「動いているものを触りたくない」心理でアップデートが後回しにされがち |
主要ツールのセキュリティ上の注意点
横にスクロールして確認できます
| ツール | 主なリスク | 対策 |
|---|---|---|
| Jupyter Notebook/Lab | 認証なし公開、カーネル経由のRCE | トークン認証必須化、JupyterHubによるアクセス管理 |
| Marimo | CVE-2026-39987(認証なしRCE) | 0.20.4以上にアップデート、認証設定の有効化 |
| Streamlit | SSRF、情報漏洩(デバッグモード) | 本番環境でのデバッグモード無効化、アクセス制限 |
| MLflow | 認証なしAPI、モデルの改ざん | 認証の有効化、ネットワーク分離 |
| Airflow | デフォルトパスワード、DAG経由のRCE | デフォルト認証情報の変更、RBAC設定 |
【影響確認チェックリスト】自社は大丈夫か?
- 社内でMarimoを使用しているチーム・個人を把握しているか
- Marimoのバージョンは0.20.4以上に更新されているか
- Marimoサーバーが社外ネットワーク(インターネット)からアクセス可能になっていないか
- Marimoに認証設定が有効になっているか
- Jupyter Notebook等の他のデータサイエンスツールも同様に管理されているか
- データ分析環境が本番データベースに直接接続していないか
「データ分析環境のセキュリティ、盲点になっていませんか?」
Marimoに限らず、Jupyter・MLflow・Airflow等のデータサイエンス基盤のセキュリティ診断を実施します。
※ 営業電話はしません | オンライン対応可 | 相談だけでもOK
対策:今すぐ実施すべき3ステップ
ステップ1:Marimoを0.20.4以上にアップデートする
pip install --upgrade marimo>=0.20.4
アップデート後、Marimoサーバーを再起動してください。仮想環境(venv、conda)を使用している場合は、各環境ごとにアップデートが必要です。
Docker環境の場合: コンテナイメージのベースにMarimoが含まれている場合、イメージの再ビルドが必要です。requirements.txt や Dockerfile のバージョン指定を確認してください。
ステップ2:ネットワークアクセスを制限する
Marimoサーバーへのアクセスを最小限に制限してください。
- インターネットからのアクセスを遮断 — ファイアウォールでMarimoのポート(デフォルト: 2718)への外部アクセスをブロック
- 社内ネットワークでもアクセス制限 — 必要なユーザーのIPアドレスのみ許可
- VPN経由のアクセスに限定 — リモートワーク時のアクセスはVPN必須
ステップ3:認証設定を有効にする
Marimoの認証機能を有効にし、パスワードなしでノートブックにアクセスできない状態にしてください。合わせて以下も実施します。
- Marimoが使用するデータベース接続情報の変更(侵害されている可能性を考慮)
- APIキーのローテーション
- Marimoサーバーのアクセスログで不審なリクエストがないか確認
実務判断のポイント
この記事は、経営者、CIO、情シス、セキュリティ担当、開発責任者向けです。脆弱性管理、外部公開資産棚卸し、月次セキュリティ運用、インシデント対応を自社で進めるか、外部の専門家と整理するかを判断する材料として使えます。
GXOが重視するのは、話題性の高さよりも「自社の業務、データ、権限、予算、運用責任にどう影響するか」です。Marimo脆弱性(CVE-2026-39987)|Pythonノートブックに公開10時間で悪用されたRCEに関する検討では、担当者だけで判断を閉じず、経営、現場、情シス、外部パートナーの役割を早い段階で分けることが重要です。
放置した場合と整備した場合の違い
横にスクロールして確認できます
| 観点 | 放置した場合 | 整備した場合 |
|---|---|---|
| 業務影響 | 属人的な判断が増え、対応の優先順位がぶれやすい | 影響範囲、期限、責任者を決めて進められる |
| 投資判断 | ツール導入や外注費だけが先行し、効果測定が曖昧になる | 売上、工数削減、リスク低減の指標にひも付けられる |
| 現場運用 | 例外処理や承認フローが残り、定着しにくい | 権限、ログ、教育、改善サイクルまで設計できる |
| 経営報告 | 問題が発生してから説明資料を作ることになる | 月次で状況、課題、次の打ち手を説明できる |
導入・改善前のチェックリスト
- 対象業務、対象部門、対象データを明文化しているか
- 現在の課題を、売上機会、原価、工数、リスクのいずれかに分解しているか
- 既存システム、SaaS、Excel、手作業の依存関係を棚卸ししているか
- 例外処理、承認、差し戻し、監査証跡まで確認しているか
- 社内で判断できる範囲と外部支援が必要な範囲を分けているか
- 初期費用だけでなく、保守、運用、教育、改善費用を見積もっているか
- 成功指標を、問い合わせ数、商談数、削減時間、停止リスクなどで定義しているか
- 実装後の責任者、更新頻度、レビュー会議の持ち方を決めているか
- セキュリティ、法務、個人情報、契約条件の確認ポイントを洗い出しているか
- 既存の問い合わせ、商談、障害、運用ログから優先順位を決めているか
- 経営判断に必要な資料を1枚で説明できる状態にしているか
- 次の90日で検証する範囲と、やらない範囲を明確にしているか
GXOの見解
セキュリティニュースは読むだけでは価値がなく、自社資産、影響判定、対応期限、経営報告に変換して初めて防御力になる。
GXOは単発診断よりも、月次の棚卸し、優先順位付け、証跡管理、改善実行までを運用化すべきだと見る。
自社だけで整理が難しい場合、GXOは脆弱性診断、インシデント対応、月次運用、開発保守の改善まで接続できる。最初から大規模な発注を前提にせず、現状整理や診断から必要な範囲を確認できます。
実行までの進め方
- 現在の業務、データ、ツール、担当者を棚卸しする
- 売上拡大、工数削減、リスク低減のどれに効くテーマかを決める
- 初期対応、90日以内の改善、半年以上の投資を分ける
- 必要な社内体制、外部支援、予算、セキュリティ確認を整理する
- 小さく検証し、効果測定後に本番化や横展開を判断する
よくある質問(FAQ)
Q1. Marimoをローカル(localhost)でのみ使用している場合も影響がありますか?
Marimoをローカルホスト(127.0.0.1)でのみ起動し、外部からのアクセスを受け付けない設定であれば、リモートからの直接攻撃は受けません。ただし、SSRF(Server-Side Request Forgery)やブラウザ経由の攻撃で間接的に脆弱性が悪用される可能性は残ります。バージョンのアップデートは実施してください。
Q2. Jupyter Notebookにも同じ脆弱性がありますか?
CVE-2026-39987はMarimoに固有の脆弱性であり、Jupyter Notebookには直接影響しません。ただし、Jupyter Notebookにも過去にRCE脆弱性が発見されています。Jupyter環境も最新版に更新し、認証設定を有効にすることを推奨します。
Q3. 社内のデータサイエンティストが個人PCにMarimoをインストールしている場合は?
IT部門が把握していない「シャドーIT」としてMarimoが使用されているケースは要注意です。社内にデータサイエンスチームがある場合は、使用しているツールとバージョンの棚卸しを実施してください。
Q4. パッチ適用が間に合わない場合の暫定対策はありますか?
最低限、以下の暫定対策を実施してください。(1)Marimoサーバーへのネットワークアクセスを遮断する。(2)Marimoが稼働するサーバーのファイアウォールで該当ポートをブロックする。(3)可能であればMarimoサービスを一時停止する。業務影響がある場合でも、CVSS 9.3のRCE脆弱性が悪用されるリスクと比較すれば、一時停止が合理的な判断です。
関連記事
参考情報
- Marimo GitHub Security Advisory「CVE-2026-39987 — Unauthenticated Remote Code Execution」
- NIST National Vulnerability Database「CVE-2026-39987」
- GreyNoise Intelligence「Mass Exploitation of Marimo CVE-2026-39987 Detected Within 10 Hours」
データ分析基盤のセキュリティ、見落としていませんか?
GXO株式会社では、中小企業のIT基盤セキュリティを支援しています。
- データサイエンス環境のセキュリティ診断 — Jupyter/Marimo/MLflow等の設定不備・脆弱性の可視化
- ネットワーク分離設計 — 分析環境と本番環境の適切な分離
- 脆弱性管理体制の構築 — 公開10時間で悪用される時代に対応するパッチ管理プロセス
まずは社内のデータサイエンスツールの棚卸しから始めませんか。
お問い合わせはこちら → gxo.co.jp/contact
GXOの導入事例はこちらでご確認いただけます。






