【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を可能にした深刻な脆弱性。
もし自社で起きたら 業務シナリオごとの想定影響
顧客情報が不正に取得され、金銭被害や信用低下が発生する可能性がある。
システムダウンにより業務が停止し、生産性やビジネスに大きな影響が出る可能性がある。
顧客のデータリークが発生し、契約解消や損害賠償問題に発展する可能性がある。
即時のパッチ適用とセキュリティ監視の強化を推奨する。
対応アクション
SOC/SREチームが順番に実行すべき具体的なステップとコマンド例
-
1影響範囲の特定 identify
grep -r 'remote-attack' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
remote-attackを grep し、稼働しているサービス・バージョンを把握する。 -
4インシデント宣言検討 escalate
Notify SOC / on-callCISA KEV登録済 = 実環境で悪用が観測されている。Step 3 で兆候があればインシデント対応宣言、無くてもパッチ適用までWAF強化を最優先で。
-
7事後検証 verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 3 と同じログクエリでアラート再発が無いか継続監視。
影響パッケージ
参照URL
- advisory NVD
- advisory github.com
- package github.com
- package pypi.org
- web github.com
- web github.com
- web github.com
- web cisa.gov
- web cisa.gov
- web sysdig.com