Marimo RCE Vulnerability Exploited Within 10 Hours of Public Disclosure
2026/04/13 gbhackers — オープンソースの Python ノートブック・プラットフォーム Marimo で発見された深刻な脆弱性は、公開から 10時間未満で悪用が確認されている。この脆弱性は GHSA-2679-6mx9-h9xc として公開され、後に CVE-2026-39987 (CVSS 9.3) が採番された。この脆弱性を悪用する未認証の攻撃者は、対象インスタンス上で完全な対話型シェルを取得できる。Sysdig の研究者によると、2026年4月8日の公開から、わずか 9時間41 分で実環境における攻撃が観測されたという。

脆弱性の技術詳細
Marimo は Jupyter の代替として利用される、リアクティブ型のノートブック環境であり、データ・サイエンティストや AI 研究者に広く利用されている。
この脆弱性はバージョン 0.20.4 以下に存在し、”/terminal/ws” パスに配置された terminal WebSocket エンドポイントに影響を及ぼす。
ls → marimo logs data .env docker-compose.yml celerybeat-schedulecat .env → HOME=/app/marimo PATH=/usr/local/bin:/usr/bin:/bin HOSTNAME=prod-app-e29e AWS_DEFAULT_REGION=us-east-1 AWS_ACCESS_KEY_ID=AKIA01FB...
他の WebSocket エンドポイントでは、セッション検証関数により認証チェックが実施されるが、当該 terminal エンドポイントでは、この処理が完全に欠落している。
その結果、このエンドポイントへ接続する攻撃者は、即座に疑似ターミナル・シェルを取得できる。このシェルは、Marimo プロセスと同一権限で実行されるため、認証情報や複雑な攻撃コードを必要とせずに侵害が成立する。
攻撃の進行と特徴
このインシデントが公開された時点で PoC コードは存在しなかったが、攻撃者はアドバイザリ情報だけを解析し、短時間でエクスプロイトを構築した。
研究者のハニーポットにより、この攻撃フローが観測されている。最初に自動スクリプトで RCE の可否を確認し、約 2分後には人手による操作へと移行する。その後の 3 分以内に “.env” ファイルを見つけ出し、AWS アクセスキーなどのクラウド認証情報を窃取している。
この高速な攻撃が示唆するのは、AI を用いた脆弱性の解析と武器化の進展である。
影響と対応
このインシデントが示すのは、GitHub スター約 20,000 の比較的ニッチなソフトウェアであっても攻撃対象となることだ。
管理者にとって必要なことは、Marimo のバージョン 0.23.0 以降へと速やかにアップデートすることだ。さらに、”/terminal/ws” への不審なアクセスログの確認と、過去に露出した可能性のある API キー/データベース・パスワード/クラウド認証情報のローテーションが強く求められる。
訳者後書:この脆弱性の原因は、ノートブック環境である Marimo の通信窓口 (WebSocket エンドポイント) の一つにおいて、認証を確認する仕組みが完全に抜け落ちていたことにあります。通常、外部からの接続に際しては、本当に許可されたユーザーであることを検証する関数が働きますが、ターミナル機能用の特定のパス (/terminal/ws) においては、このチェックが機能していませんでした。この欠陥を突く攻撃者は、特別なパスワードや高度な技術を使わずに、ブラウザから接続するだけでサーバを自由に操作できるターミナル・シェルを手に入れることが可能となりました。すでに、エクスプロイトが確認されています。ご利用のチームは、ご注意ください。
You must be logged in to post a comment.