English version →
Webアプリケーション
CVE-2026-39987 CISA KEV high

【KEV】Marimo remote-attack の脆弱性 (CVE-2026-39987)

概要

Marimo remote-attack に 脆弱性 (CVE-2026-39987) が存在。不正な操作・情報露出のリスクがあります。CISA KEV登録済 — 実環境で悪用が確認されている。

原文の説明

取得元が公開している説明をそのまま載せています (多くは英語)。

Summary

Marimo (19.6k stars) 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.

Affected Versions

Marimo <= 0.20.4

Vulnerability Details

Root Cause: Terminal WebSocket Missing Authentication

marimo/_server/api/endpoints/terminal.py lines 340-356:

@router.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket) -> None:
    app_state = AppState(websocket)
    if app_state.mode != SessionMode.EDIT:
        await websocket.close(...)
        return
    if not supports_terminal():
        await websocket.close(...)
        return
    # No authentication check!
    await websocket.accept()  # Accepts connection directly
    # ...
    child_pid, fd = pty.fork()  # Creates PTY shell

Compare with the correctly implemented /ws endpoint (ws_endpoint.py lines 67-82):

@router.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket) -> None:
    app_state = AppState(websocket)
    validator = WebSocketConnectionValidator(websocket, app_state)
    if not await validator.validate_auth():  # Corr…

出典: CISA Known Exploited Vulnerabilities NVD GitHub Advisory CISA KEV

AI要約

外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。

Marimoの製品に深刻な問題が発生しました。攻撃者は特定のコードにアクセスし、会社のシステムを操作することができてしまう可能性があります。この問題は適切なセキュリティ対策を講じない限り、情報漏洩や業務停止といったリスクを引き起こす恐れがあります。即時にセキュリティパッチを適用することが非常に重要です。このようなケースは、例えばHeartbleedバグなどの過去の事例と同種のリスクを持っています。

Marimoの製品におけるCVE-2026-39987は、未認証の状態でRCE(リモートコード実行)を許可する重大な脆弱性です。特定のHTTPエンドポイントや関数名は素材から特定できませんでしたが、CWE-306に関連し、システムコマンドを任意に実行する攻撃の懸念があります。影響バージョン範囲や修正バージョンも公式情報がないため特定できていません。暫定的な回避策も不明ですが、システム全体のアクセス制御と監視を強化することは防御策として考慮されるべきです。CVSS解釈としてリモート攻撃可能性と認証不要が確認されています。

❓ 何が問題か

Marimo remote-attack に 脆弱性 (CWE-306) があります。

📍 影響範囲

Marimo remote-attack のうち 。

🔥 重要度

重要度: 重要。不正な操作・情報露出のリスクがあります CISA KEV登録済 — 既に実環境で悪用が確認されているため最優先で対応すること。

🔧 修正方法

ベンダー公式アドバイザリの修正版に更新してください。

🛡️ 暫定回避

修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。

🔍 検知方法

Webサーバ・プロキシ・WAFログで該当CVEのIOCに合致する不審リクエストを検索。SBOM/依存ファイルで影響バージョンを横断確認。

類似する過去の事例 過去のCVE/インシデントから類似事例を抽出

OpenSSLのバグにより、メモリを攻撃者が盗み見ることができた事例。

Log4jにおいてRCEを可能にした深刻な脆弱性。

もし自社で起きたら 業務シナリオごとの想定影響

📌 ECサイトの場

顧客情報が不正に取得され、金銭被害や信用低下が発生する可能性がある。

📌 社内システムの場

システムダウンにより業務が停止し、生産性やビジネスに大きな影響が出る可能性がある。

📌 クラウドサービス事業者の場

顧客のデータリークが発生し、契約解消や損害賠償問題に発展する可能性がある。

推奨アクション

即時のパッチ適用とセキュリティ監視の強化を推奨する。

対応アクション

SOC/SREチームが順番に実行すべき具体的なステップとコマンド例

  1. 1
    影響範囲の特定 identify
    grep -r 'remote-attack' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で remote-attack を grep し、稼働しているサービス・バージョンを把握する。

  2. 4
    インシデント宣言検討 escalate
    Notify SOC / on-call

    CISA KEV登録済 = 実環境で悪用が観測されている。Step 3 で兆候があればインシデント対応宣言、無くてもパッチ適用までWAF強化を最優先で。

  3. 7
    事後検証 verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 3 と同じログクエリでアラート再発が無いか継続監視。

影響パッケージ

PyPI marimo
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.23.0"}]}]

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく