
CVE-2026-43499(GhostLock)向けの武器化された概念実証。Linuxカーネルのrtmutexバグを利用し、ローカル権限昇格を可能にします。ディストリビューション別のエクスプロイトチェーン、技術解説書、信頼性テストを含みます。
rtmutex の remove_water() プロキシパスバグにより、タスクの pi_blocked_on が自身のポップされたカーネルスタックフレームにぶら下がったままになる問題です。
このバグクラスと元のエクスプロイト戦略のクレジットは nebusec に帰属します(彼らの解説はこちら)
このリポジトリのすべては、私自身によるディストリビューション別の作業です:
各カーネルファミリーは根本的に異なるプリミティブを必要とし、それがこの問題を非常に興味深いものにしています。
Ghostlock のトリガーは完全に非特権です(3つの futex、2つのスレッド、ネームスペースなし)。 ぶら下がったポインタを root に変えるプロセスは、ディストリビューションごとに異なります。これはフレームジオメトリ、緩和策、そして「既知のカーネルアドレスにおける制御されたバイト」の意味そのものがすべて変わることに起因します。 このリポジトリは、ターゲットファミリーごとにチェーンを収集します。
| ターゲット | チェーン | ステージング | ステータス |
|---|---|---|---|
RHEL/CentOS 7 — 3.10.0-1160.102.1.el7 | el7/ — physmapエイリアスページ + auxvペインター + sched_setschedulerウォーク | ネームスペース内ルート(特権コンテナ) | 動作中、クリーンブートで40/40ストレステスト合格 |
RHEL/CentOS 7 — 3.10.0-693.el7 | 同じチェーン、測定済みフレームジオメトリ | 同じ | コンポーネント検証10/10合格;ストレステスト待ちのみ |
各サブディレクトリの WRITEUP.md に、完全な技術分析、根本原因、標準の6.x系チェーンが移行できない理由、プリミティブの発見事項、代わりに構築したもの、測定済みフレームジオメトリ、および信頼性関連データを記載しています。
難しい部分 - ウォークは偽造されたウェイターの ->lock を、それが見つけたロックに対して検証します(3.10では BUG_ON(w->lock != lock))。そのため、既知のアドレスにあるカーネルアドレス可能なメモリに偽の構造体が必要です。これがカーネルごとに大きく異なる点です(nebusec が利用した6.x系のCPUエントリエリアのトリックは3.10には存在せず、el7はダイレクトベースマップをランダム化するなど)。各ライトアップは独自の回答を文書化しています。
バグとトリガー: 特権、ユーザーネームスペース、その他一切不要です。ローカルユーザーなら誰でも動作します。
各武器化は独自のステージングを明記しています。el7チェーンはネームスペース内ルートからステージングされます(実際には:特権コンテナへの任意のRCE - これはMYSQLインスタンスからUDFプラグインパス経由で検証されました。これは非常に典型的なポジションです)。ステージング後のカーネル側の作業は以下のみを使用します:
/proc/self/pagemap(実PFN付き、ネームスペース内 CAP_SYS_ADMIN)/proc/kcore(el7ではネームスペース内 CAP_SYS_RAWIO)/proc/kallsyms マスク解除済み(kptr_restrict=0 または CAP_SYSLOG)これらはいずれも脆弱性そのものではなく、私がまだ構築していない情報漏洩の代わりとなるステージングの便宜手段に過ぎません。
特にel7では、完全に非特権のチェーンは構造的な理由でブロックされています(3.10の BUG_ON、CEAなし、カーネルの .data に静的フェイクロックペアなし、pagemap PFNゲーティング)
el7のライトアップには完全な分析と研究の方向性、主にヘッドアドレス情報漏洩プリミティブが記載されています。
panic_on_oops=1 ホストでは、誤ったウォークはパニックを引き起こし、マシンを停止させるため、テスト時には脅威モデルの一部として設定として扱ってください。el7/
WRITEUP.md el7チェーンの完全な技術ライトアップ
ghostlock_el7.c テスト済み両カーネル用の単一ファイルPoC
3bfdc63936dd("rtmutex: Use waiter::task instead of current in
remove_waiter()");NPDフォローアップ 40a25d59e85b