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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-4692-trust-me-im-in-rdm — Firefox BrowsingContext 認可バイパス(CVE-2026-4692)の概念実証エクスプロイト。偽造したIPCメッセージを使用してInRDMPaneを設定し、特権UIタッチイベント注入を可能にすることを実証します。 | Kitploit
ツール/GitHubGitHub/sneakynachos/cve-2026-4692-trust-me-im-in-rdm
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトウェブアプリケーション悪用レッドチーミングペイロード開発
GitHubsneakynachos/cve-2026-4692-trust-me-im-in-rdm

CVE-2026-4692-trust-me-im-in-rdm

人気

すべて見る →

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

すべてのツールを探索

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

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

Firefox BrowsingContext 認可バイパス(CVE-2026-4692)の概念実証エクスプロイト。偽造したIPCメッセージを使用してInRDMPaneを設定し、特権UIタッチイベント注入を可能にすることを実証します。

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

CVE-2026-4692 — コンテンツプロセスが自身をRDMとして宣言できる

BrowsingContextフィールド同期における認可チェック欠落の概念実証: 侵害されたコンテンツプロセスが、自身のトップレベルBrowsingContextに対して InRDMPane = true を設定する PContent::CommitBrowsingContextTransaction メッセージを偽造し、親プロセスがそれを適用してしまう。

対象: Firefox 149.0a1 nightly @ 2fbc0748c4(脆弱、修正前)、macOS arm64。 Firefox 149で修正 — bug 2017643、コミット a9279ce332ed(「コンテンツプロセスからのRDM BrowsingContextフラグ切り替えを防止」)。これにより以下が追加される:

root@kitploit:~
bool BrowsingContext::CanSet(FieldIndex<IDX_InRDMPane>, const bool&,
                             ContentParent* aSource) {
  return XRE_IsParentProcess() && IsTop() && !aSource;   // コンテンツ由来なら拒否
}

なぜ重要か

InRDMPane は、タブがレスポンシブデザインモード(RDM)ペインであることを親プロセスに伝える。親プロセスは、合成タッチイベントのヒットテスト(BrowserParent::RecvDispatchTouchEvent)の際にこれを信頼する: 名目上RDMペインを対象とするイベントは、特権chrome UI に着地することを許可される。侵害されたコンテンツプロセスがこのフラグを設定すると、負の座標やコンテンツ外座標を持つタッチイベントを送信し、ユーザー操作なしで特権UIをクリックできる(レポーターのbug 2017643の repro.patch を参照。パッチ適用済みビルドでまさにそれを実証している)。このリポジトリは、実際のメッセージ偽造による境界違反の有効化自体を実証するもので、ブラウザのソースパッチは不要。

メッセージ(ワイヤーフォーマット、ビルドの生成IPCコードから抽出)

PContent::CommitBrowsingContextTransaction — メッセージタイプ 0x3a0137 (PContentMsgStart=58 << 16 | ordinal 311)、ルーティング MSG_ROUTING_CONTROL (INT64_MAX)、フラグ NOT_NESTED (0x001):

root@kitploit:~
u64  bcid                sentinel 235406151 ('aContext')
u64  0x0000000000800000  変更ビットセット word0 (bit 23 = InRDMPane)
u64  0                   bitset word1   (BitSet<84> のワードは size_t = u64!)
u32  1                   WriteBool(true)
u32  523371752           sentinel 'aTransaction'
u64  epoch               (epochチェックはMOZ_ASSERTのみ — ここではコンパイルで除去)
u32  132121169           sentinel 'aEpoch'

配信はCVE-2026-74939の送信パスを再利用する: operator new → IPC::Message::Message(routing, type, capacity, flags) → Pickle::WriteBytes → PContentチャネル上の MessageChannel::Send。JSからwasmのfuncref呼び出しプリミティブ(wasm-bytes.js、ステージ1 = CVE-2026-2796)経由で駆動。

証拠

./irun 実行後の親プロセス側ログ(MOZ_LOG=BrowsingContextSync:5):

root@kitploit:~
D/BrowsingContextSync Transaction::Apply(#380000001, ipc): InRDMPane(false->true)

#380000001 はポップアップのトップレベルBrowsingContext(子プロセス割り当てID、from IPC で作成)、ipc はトランザクションがコンテンツ由来であることを示す。修正済みビルドでは同じメッセージが CanSet 検証に失敗し、拒否される。

ファイル

実行

前提条件: 脆弱なNightlyビルドを /Users/sid/gecko-2766/obj-browser に配置、psutil入りの .venv、バンドルされたログサーバーを実行:

root@kitploit:~
python3 srv.py > /tmp/srv4692.log 2>&1 &   # このディレクトリを :8781 で配信
python3 forge_bctx.py                      # bctx.bin/bctx.json を構築
./irun                                     # 起動 + 注入 + 証拠収集

参照

  • Mozilla bug 2017643 — 修正コミット a9279ce332ed(MFSA 2026-20、Firefox 149)
  • CVE-2026-74939 — 本ツールが再利用する送信パス機構(../poc-cve-2026-74939)
  • CVE-2026-12295 — 関連するロード状態の偽造(../poc-cve-2026-12295)
ツールをダウンロード
ファイル目的
bctx.htmlPoCページ: 実行時にポップアップのBC IDを計算し、偽造メッセージにパッチして送信
forge_bctx.pybctx.bin/bctx.json を構築(自己検証)、BC ID以外は完全に静的
wasm-bytes.jsステージ1プリミティブ: 任意読み書き、funcref呼び出し
mdrive2.pymarionetteハーネス
irun計装実行: lldbアタッチ + BrowsingContextSync証拠
srv.pyPoCページ用ログWebサーバー(:8781)
profile.user.jsFirefoxプロファイル設定(fission有効、ダンプ有効)