CVE-2026-39987 の詳細
CVEの情報
説明:
marimo is a reactive Python notebook. Prior to 0.23.0, Marimo has a Pre-Auth RCE vulnerability. The terminal WebSocket endpoint /terminal/ws lacks authentication validation, allowing an unauthenticated attacker to obtain a full PTY shell and execute arbitrary system commands. Unlike other WebSocket endpoints (e.g., /ws) that correctly call validate_auth() for authentication, the /terminal/ws endpoint only checks the running mode and platform support before accepting connections, completely skipping authentication verification. This vulnerability is fixed in 0.23.0.
CVE更新日: 2026-04-09 18:17:02.807000
CVSSバージョン: 4.0
CVSSスコア: 9.3
KEVの情報
KEV更新日: 2026-04-23
EPSSの情報
EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。
EPSSスコア: 0.821740000
EPSS更新日: 2026-06-01 00:00:00
SSVCの情報
SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。
Exploitation: active
Technical Impact: low
Automatable: True
CVE‑2026‑39987 調査結果
1. 脆弱性の概要
marimo(Python リアクティブノートブック)0.23.0 未満に存在する認証不要のリモートコード実行(Pre‑Auth RCE)脆弱性。
/terminal/wsWebSocket エンドポイントが 認証チェックを行わない実装となっており、攻撃者は認証なしで接続し、フル PTY シェルを取得して任意 OS コマンドを実行可能。他の WebSocket(例:
/ws)はvalidate_auth()を呼ぶが、/terminal/wsのみ認証が適用されていなかった。1.1 影響
1.2 深刻度
CVSS 3.1(GitHub CNA 評価)
CVSS 4.0(GitHub CNA 評価)
2. 対象となる環境
2.1 影響バージョン
→ 0.23.0 で修正済み
2.2 影響を受ける設定
/terminal/wsが外部からアクセス可能/terminal/wsには適用されない3. 侵害の兆候(IOC)
※公式 IOC はなし。以下は脆弱性の性質から導かれる事実ベース。
/terminal/wsへの不審な WebSocket 接続4. 推奨対策
4.1 恒久対策(公式修正)
/terminal/wsに認証が追加されている4.2 暫定回避策(ワークアラウンド)
/terminal/wsへのアクセスを FW / Reverse Proxy で遮断参照サイト(一次情報)
NVD – CVE‑2026‑39987
GitHub Security Advisory(GHSA‑2679‑6mx9‑h9xc)
OpenCVE – CVE‑2026‑39987