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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-74939-escape-the-mac-n-cheese-box — Firefox の content-to-parent IPDL 特権昇格 (N-day、bug 2054416): RemoteTypeOverride を伴う偽造 PDocumentChannel -> privilegedabout プロセスへの配置。侵害されたコンテンツプロセスからの mojo-port の send-path インジェクションを介して実行。 | Kitploit
ツール/GitHubGitHub/sneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトウェブアプリケーション悪用バイナリエクスプロイト
GitHubsneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box

CVE-2026-74939-escape-the-mac-n-cheese-box

Firefox の content-to-parent IPDL 特権昇格 (N-day、bug 2054416): RemoteTypeOverride を伴う偽造 PDocumentChannel -> privilegedabout プロセスへの配置。侵害されたコンテンツプロセスからの mojo-port の send-path インジェクションを介して実行。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
121時間23分前未レビュー

CVE-2026-74939 — Firefox コンテンツ→親プロセス権限昇格

Firefox 149.0a1 nightly(2fbc0748c4、修正前)におけるサンドボックスエスケープの概念実証です。侵害されたコンテンツプロセスが IPDL メッセージを偽装し、親プロセスに特権(privilegedabout)プロセスへページをロードさせます。

これはステージ 2 のサンドボックスエスケープであり、コンテンツプロセス RCE(例: CVE-2026-2796)の後に連鎖させることを意図しています。

バグ(Mozilla バグ 2054416)

親プロセスは、コンテンツ→親 IPDL メッセージから nsDocShellLoadState をデシリアライズします。脆弱なビルドは、コンテンツが設定した RemoteTypeOverride フィールドを拒否しないため、コンテンツはナビゲーションがどのプロセスタイプに配置されるかを選択できます。

修正(コミット 3ec5c71b41bb、"Validate RemoteTypeOverride")により、nsDocShellLoadState コンストラクタはコンテンツトリガーのロードに対するオーバーライドをすべて拒否します。

オーバーライドが尊重されると — about:blank のドキュメントロード、トップレベルコンテキスト — IsolationOptionsForNavigation はロードのリモートタイプをオーバーライド値に設定し、ページは特権プロセスに配置されます。サンドボックス境界が侵害されます。

エクスプロイト概要

オーバーライドは PNecko::PDocumentChannel に乗ります。これはすべてのコンテンツプロセスが各ドキュメントロード時に送信するメッセージです(DocumentChannelCreationArgs.loadState は nsDocShellLoadState です)。

配信が興味深い部分です: IPC ソケットへの生の書き込みは静かにドロップされます。なぜなら IPDL メッセージは現在 mojo ポート 上で運ばれるからです。その代わりに、PoC は CVE-2026-2796 の funcref プリミティブを使用したネイティブ呼び出しを介して JavaScript から実際の送信パスを駆動します:

  1. operator new — IPC::Message 用のヒープブロックを割り当て
  2. IPC::Message::Message(routing, type, capacity, flags) — 配置コンストラクタ
  3. Pickle::WriteBytes — 偽造ペイロードを追加
  4. PContent チャネル上の MessageChannel::Send — mojo フレーミング、ポートルーティング、シーケンス番号はすべてネイティブで処理

ペイロード(forge.py によって構築)は、RemoteTypeOverride = "privilegedabout"、URI about:blank、null プリンシパル、およびランタイムリークされた値(BrowsingContext id、TriggeringRemoteType)を運びます。

ファイル

実行

root@kitploit:~
./irun

検証

親側のログ(MOZ_LOG=ProcessIsolation:5,DocumentChannel:5)は、特権プロセスへのプロセス切り替えを示します:

root@kitploit:~
V/ProcessIsolation using remote type override (privilegedabout) for load
I/ProcessIsolation Process Switch: Changing Remoteness from 'webIsolated=http://127.0.0.1' to 'privilegedabout'

参照

  • Mozilla バグ 2054416 — 修正コミット 3ec5c71b41bb "Validate RemoteTypeOverride"
  • ステージ 1 コンテンツ RCE: CVE-2026-2796
ツールをダウンロード
ファイル目的
privesc.htmlPoC ページ。侵害されたコンテンツプロセス内で実行
forge.py / forge.json偽造 IPDL メッセージを構築(自己検証付き)
wasm-bytes.jsステージ 1 プリミティブ: 任意読み書き、funcref 呼び出し
mdrive.py / mdrive2.pyNightly を起動・駆動する Marionette ハーネス
irunインストルメント実行: lldb を親にアタッチ + MOZ_LOG 証跡
profile.user.jsFirefox プロファイル設定(fission 有効、ダンプ有効)
parse_dc.pyキャプチャした DocumentChannel メッセージのバイト完全一致パーサー
scan_sentinels.py / extract_fields.pyキャプチャ用フィールドマップスキャナー