Pythonノートブック「Marimo」に高重大度の脆弱性、セル実行前の不正コマンド起動リスクが判明
要点
- Python向けノートブック環境「Marimo」において、細工されたファイルを開くだけで外部コマンドが実行される脆弱性「CVE-2026-75149」が確認された。
- 編集モードで開いた際、ノートブック内のセルを実行する前に指定されたコマンドがローカルのサブプロセスとして起動する。
- 共通脆弱性評価システム(CVSS)のスコアは最大8.8(高重大度)と評価されている。
- 開発元はメタデータ検証を強化したバージョン0.23.15で問題を修正しており、最新版への更新を呼びかけている。
リード文
Python向けリアクティブノートブック環境「Marimo」において、悪意を持って細工されたファイルを開くことで任意のコマンドが実行される恐れのある高重大度の脆弱性が存在することが明らかになった。脆弱性情報機関VulnCheckのCVE採番機関(CNA)レコードおよびセキュリティメディアThe Hacker Newsの報道により判明した。開発チームはバージョン0.23.15で修正パッチを提供しており、影響を受ける旧バージョンからの移行が呼びかけられている。
脆弱性「CVE-2026-75149」の概要と評価
今回報告された「CVE-2026-75149」は、バージョン0.23.15未満のMarimoに影響するコードインジェクションの脆弱性である。
脆弱性の深刻度を示す指標であるCVSS(Common Vulnerability Scoring System)のスコアは、CVSS v4で8.7、CVSS v3.1で8.8と算出されており、いずれも高重大度(High)に位置づけられている。攻撃者側の事前認証は不要であるものの、攻撃の成立には標的となったユーザーが悪意あるノートブックファイルを開く操作(User Interaction)が必要とされる。本CVE情報は2026年8月19日に公開された。
セル実行前にサブプロセスが起動するメカニズム
オープンソース脆弱性情報データベース「OSV」に登録された情報によると、本脆弱性ではノートブックの設定情報を悪用し、攻撃者が指定したModel Context Protocol(MCP)のサーバーコマンドを埋め込むことが可能となっていた。MCPとは、AIモデルと外部のツールやデータソースを連携させるための規格である。
細工されたノートブックを被害者が編集モード(edit mode)で開くと、ノートブック内のPythonセルを実行する前段階で、設定内に指定されたコマンドがローカル環境のサブプロセスとして自動的に起動される挙動が確認されている。通常、ノートブック環境ではセルの実行操作を行って初めてコードが動作すると認識されやすいが、本脆弱性ではファイルを開いた時点でコマンドが処理されてしまう点が特徴となっている。
メタデータの制限と開発チームによるパッチ対応
Marimoの開発チームは、Pythonスクリプトへのメタデータ埋め込み規格「PEP 723」に関連する堅牢化パッチを適用して本件を修正した。
この修正により、ノートブック内のメタデータは攻撃者によって制御される可能性があるデータとして扱われ、設定項目が許可リスト(allowlist)によって選別される仕組みに変更された。具体的には、ノートブック側から提供された以下の設定セクションが自動的に削除・除外されるようになっている。
aimcpcompletionsecretsserver
パッチの回帰テストでは、攻撃者が指定したURLを含むMCP設定が確実に除外されることが検証されている。本脆弱性の発見者としてはGregory Tan氏(ハンドル名: Grg0rry)がクレジットされており、同氏はMarimoのリポジトリにおける堅牢化コミットの共同作成者にも名を連ねている。
関連する脆弱性とアップデート状況
Marimoでは、同一の設定境界に起因する別の脆弱性「CVE-2026-67618」(CVSSスコア7.1)についても、2026年8月4日にVulnCheckから開示されていた。こちらもバージョン0.23.15未満が対象で、メタデータに不正なAIエンドポイントURLが設定されていた場合、セルを実行せずともユーザーがAIリクエストを送信した段階でAPIキーが漏洩するリスクがあった。
また、過去に報告された「CVE-2026-39987」では、バージョン0.20.4以前の /terminal/ws エンドポイントにおける認証不備により、仮想端末(PTY)シェルが奪取されて任意コマンドが実行される問題が存在していたが、こちらはバージョン0.23.0でパッチが提供されている。
Marimoのセキュリティポリシーでは最新の安定版に対するパッチ提供が基本方針とされており、利用者に最新状態の維持を求めている。2026年7月23日に修正版0.23.15が公開された後、2026年8月17日には最新のバージョン0.24.0がPyPI(Python Package Index)でリリースされている。