オープンソースのインタラクティブPythonノートブック環境「Marimo」に、認証なしでリモートコード実行(RCE)が可能な重大な脆弱性(CVE-2026-39987)が発見された。GitHubのスコアリングでは10点満点中9.3という「Critical」評価であり、Sysdigの調査によると開発者アドバイザリの公開からわずか10時間以内に実際の攻撃が始まっている。GitHubスター数2万を誇る比較的メジャーなプロジェクトだけに、影響を受けている環境は決して少なくないはずだ。

脆弱性の仕組み——認証ゼロで「シェル」が渡される

今回の問題の本質はシンプルかつ深刻だ。MarimoはWebSocket経由でインタラクティブなターミナルを提供する /terminal/ws エンドポイントを持っているが、このエンドポイントに一切の認証チェックが存在しない

接続できさえすれば、Marimoプロセスが持つ権限そのままのフルシェルが手に入る。データサイエンティストやMLエンジニアが日常的に使うツールが、外部からそのまま「踏み台」になる構造だ。

影響を受けるのは以下の条件を満たす環境:

  • バージョン 0.20.4 以前を使用している
  • --host 0.0.0.0 で起動し、編集モードでネットワークに公開している

チームで共有するJupyterライクな環境として使っているケースや、社内Wikiサーバー的に外部公開している開発用サーバーが特にリスクが高い。

実際の攻撃の手口——3分以内で完了する認証情報窃取

Sysdigのレポートが記録した攻撃の流れは、驚くほど手際が良い。

  • /terminal/ws へ接続し、RCEが成立することをすばやく確認して切断
  • 再接続後、pwdwhoamils で環境を把握
  • .env ファイルを直接読み取り、クラウド認証情報やアプリケーションシークレットを抽出
  • SSHキーの探索も実施

この一連の操作が3分以内に完了している。 攻撃者はマルウェアや永続化ツールを一切インストールしておらず、「静かに盗んで去る」ステルス型の手口だ。暗号通貨マイナーを仕込んで騒ぎを起こすよりも、気づかれにくく高価値な情報を狙う判断をしている。

対応策——修正版への即時アップデートが最優先

開発チームはすでに バージョン 0.23.0 で修正済みのリリースを公開している。


出典: この記事は Critical Marimo pre-auth RCE flaw now under active exploitation の内容をもとに、筆者の見解を加えて独自に執筆したものです。