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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-30862 — Appsmith Table Widgetにおける保存型XSSを実証するProof-of-conceptで、XSS-to-CSRF攻撃による垂直権限昇格と完全な管理者乗っ取りに至ることを示します。 | Kitploit
ツール/GitHubGitHub/drkim-dev/cve-2026-30862
特権昇格脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストレッドチーミング
GitHubdrkim-dev/cve-2026-30862

CVE-2026-30862

Appsmith Table Widgetにおける保存型XSSを実証するProof-of-conceptで、XSS-to-CSRF攻撃による垂直権限昇格と完全な管理者乗っ取りに至ることを示します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-30862 PoC - Appsmith における権限昇格

Appsmith における保存型 XSS を介した権限昇格の Proof-of-Concept

開示情報: GHSA-5hw4-whxv-6794 を介して私が最初に報告しました

⚠️ 許可されたペネトレーションテスト/研究目的のみで使用してください。

脆弱性情報

フィールド値
CVE IDCVE-2026-30862
深刻度🔴 Critical
CVSS スコア9.1
CVSS ベクター[CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H]
CWECWE-79、CWE-269、CWE-352
影響を受ける製品Appsmith ≤ 1.95
パッチ適用バージョン1.96
アドバイザリGHSA-5hw4-whxv-6794

CVE-2026-30862: Appsmith v1.95 における重大な保存型 XSS および権限昇格

概要

Table Widget(TableWidgetV2)に重大な保存型 XSS の脆弱性が存在します。根本原因は、React コンポーネントのレンダリングパイプラインにおける HTML サニタイズの欠如であり、悪意のある属性が DOM に挿入されることを可能にします。「Invite Users」機能を悪用することで、通常のユーザーアカウント([email protected])を持つ攻撃者がシステム管理者に高権限 API 呼び出し(/api/v1/admin/env)を実行させ、完全な管理者アカウント乗っ取りにつながる可能性があります。


詳細

1. 根本原因: 出力サニタイズシンクの欠如 この脆弱性は Table Widget のレンダリングエンジンに存在します

  • ファイル: app/client/src/widgets/TableWidgetV2/component/cellComponents/BasicCell.tsx

  • BasicCell コンポーネントは、columnType が URL または Plain Text に設定されている場合、データのサニタイズに失敗します。ユーザーが指定した生の値が React の子要素として直接レンダリングされ、ブラウザが実行可能な HTML として解釈します。

脆弱なコードスニペット(132〜143行目および172〜173行目):

root@kitploit:~
const contentToRender = useMemo(() => {
  switch (columnType) {
    case ColumnTypes.URL:
      // サニタイズなしで 'url' を href に直接挿入
      return <a href={url} target="_blank">{value}</a>;
    default:
      return value; // 141行目: 生の値が返される
  }
}, [columnType, url, value]);

// 173行目: サニタイズされていないコンテンツが DOM に注入される最終シンク
<Content ref={contentRef}>{contentToRender}</Content>

2. 攻撃ベクトル: ソーシャルエンジニアリングによる XSS-to-CSRF(Invite 機能) SESSION クッキーは HttpOnly で保護されていますが、XSRF-TOKEN は document.cookie を介してアクセス可能です。Appsmith では任意のユーザーが他のユーザーをアプリに「招待」できるため、攻撃者はこれを配信メカニズムとして使用し、管理者のアクティブセッション内で**クロス権限リクエストフォージェリ(CPRF)**を実行できます。


PoC(Proof of Concept)

ステップ 1: XSS 脆弱性の検証

  1. 通常のユーザーアカウントでログインします: [email protected]。

  2. 新しいアプリケーションを作成し、Table Widget を追加します。

  3. Table Data プロパティに以下を注入します:

root@kitploit:~
[{ "id": 1, "payload": "" }]
  1. alert() の実行を確認し、サニタイズバイパスを確認します。

-- ステップ 2: 武器化(完全な管理者乗っ取り)

  1. [email protected] として、管理環境を変更するように設計された以下のペイロードで Table Data を更新します:
root@kitploit:~
[
  {
    "id": 1,
    "Status": "System Update Required",
    "payload": "alert('Admin Privileges Granted to [email protected]'));\">"
  }
]
  1. 「Share」 機能を使用して、システム管理者([email protected])をアプリに招待します。これにより、管理者は招待を開いた際に悪意のあるテーブルを表示せざるを得なくなります。

  2. 管理者がアプリを起動すると、スクリプトがバックグラウンドで実行されます。管理者の XSRF-TOKEN を読み取り、PUT リクエストを送信して [email protected] を管理ホワイトリストに追加します。

  3. 結果: [email protected] として再度ログインします。Admin Settings とすべてのインスタンス設定への完全なアクセス権が付与されます。


影響

  • 脆弱性の種類: 保存型 XSS / 垂直権限昇格。

  • 深刻度: 9.1(Critical)| CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H

  • リスク: Appsmith インスタンスの完全な侵害。攻撃者は機密の環境変数、データベース認証情報へのアクセスを取得し、インスタンス内の任意のアプリケーションを変更する能力を得ます。


推奨される修正策

  1. シンクのサニタイズ: BasicCell.tsx および関連コンポーネントのすべての動的出力を DOMPurify.sanitize() でラップします。

  2. CSP の強化: 厳格な connect-src ポリシーを実装し、XSS ペイロードから管理エンドポイントへの不正な API 呼び出しを防止します。


https://github.com/user-attachments/assets/206a10e4-1619-4887-a552-99761baa0a29

ツールをダウンロード