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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
page-cache-corruption-lpes — CVE-2026-46331 および CVE-2026-43503 | Kitploit
ツール/GitHubGitHub/rjt-gupta/page-cache-corruption-lpes
特権昇格脆弱性分析エクスプロイトCTF学習と教育バイナリエクスプロイト
GitHubrjt-gupta/page-cache-corruption-lpes

page-cache-corruption-lpes

CVE-2026-46331 および CVE-2026-43503

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

人気

すべて見る →

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

すべてのツールを探索

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

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

ページキャッシュ破壊 LPE

Linux カーネルのローカル特権昇格エクスプロイト 3 種。Dirty COW や Dirty Pipe と同じバグクラス。数秒で root シェル。主要なディストリビューションすべてに影響。

3 つすべてがカーネルのページキャッシュ — プロセスが実際に読み取り実行するファイルのメモリ内コピー — を破壊します。ディスク上のファイルには一切触れません。ファイル整合性ツールは何も検知しません。execve("/usr/bin/su") はキャッシュから読み込み → あなたのシェルコードを実行 → root。


エクスプロイト

エクスプロイトCVEメカニズムルートまでの時間行数
Dirty PeditCVE-2026-46331TC pedit COW ギャップ (u32 ラップアラウンド)< 1 秒275
skb_shiftCVE-2026-43503TCP SACK frag 転送時のフラグ喪失~10 秒500
GRO Flag LossCVE-2026-43503GRO 結合時の frag 転送フラグ喪失~10 秒550

すべて: 非特権 → root。特別な権限は不要。ユーザー名前空間のみ。


バグクラスとは?

このリポジトリのすべてのエクスプロイトは同じパターンに従います:

root@kitploit:~
1. Get page-cache pages into a kernel buffer (splice)
2. Bypass the copy-on-write defense
3. Write in-place → read-only file corrupted in memory

異なるのは、防御がどのようにバイパスされるか、そして何が書き込みを実行するかです:


系統

root@kitploit:~
2016  Dirty COW         COW race via mmap + fork
2022  Dirty Pipe        Stale PIPE_BUF_FLAG_CAN_MERGE in splice
2026  Copy Fail         AF_ALG in-place AEAD on page-cache scatterlist
2026  Dirty Frag        ESP skip_cow on splice'd frags (missing flag)
2026  Fragnesia         skb_try_coalesce drops SHARED_FRAG flag
2026  Dirty Pedit  ←    TC pedit COW gap, no crypto needed
2026  skb_shift    ←    TCP SACK drops SHARED_FRAG, ESP writes
2026  GRO Flag Loss ←   GRO merge drops SHARED_FRAG, ESP writes

影響を受けるバージョン

デフォルト設定。脆弱性を発現させるのに追加の堅牢化は不要。Linux を実行していた場合、影響を受けていました。


Dirty Pedit が特別な理由

skb_shift と GRO はどちらも同じ悪用手法を使用します: SKBFL_SHARED_FRAG フラグを失わせ、事前計算された IV ルックアップテーブルを使用して ESP 暗号にページキャッシュページへ 1 バイトずつ XOR させます。

Dirty Pedit はまったく異なるものです:

  • 暗号不要。 XFRM、ESP、AES-GCM、IV テーブルは不要。
  • 直接書き込み。 TC pedit は skb_store_bits 経由で指定したバイトを正確に書き込みます。
  • 1秒未満。 1パケット = 12バイト書き込み。一発で root。
  • 異なる防御バイパス。 SHARED_FRAG にはまったく触れず、整数ラップアラウンドにより skb_ensure_writable を破壊します。

ビルド

root@kitploit:~
# Build all three
cd dirty_pedit && gcc -static -O2 -o exploit exploit.c && cd ..
cd skb_shift   && gcc -static -O2 -o exploit exploit.c && cd ..
cd gro         && gcc -static -O2 -o exploit exploit.c && cd ..

各エクスプロイトは単一の自己完結型 C ファイルです。libc 以外の依存関係はありません。


実行

root@kitploit:~
# Any of the three (as unprivileged user):
./exploit
# → root shell

必要条件: 影響を受けるバージョン範囲の Linux カーネル + CONFIG_USER_NS=y(主要なすべてのディストリビューションでデフォルト)。


出力 (Dirty Pedit)

root@kitploit:~
[*] Dirty Pedit — Local Privilege Escalation
[*] uid=1000 pid=42
[*] Victim line at offset 186: nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
[*] Injecting user 'a' (uid=0, no password) over victim line...
[+] User 'a' injected with uid=0!
[+] Running: su a
# id
uid=0(root) gid=0(root) groups=0(root)

出力 (skb_shift / GRO)

root@kitploit:~
[*] uid=1000 euid=1000
[*] IV table pre-computed (256 entries)
[*] Writing 192 bytes to /usr/bin/su...
  [120] 0x00→0x48 ... OK
  [121] 0x00→0x31 ... OK
[*] Write complete: 192/192
[!] /usr/bin/su page cache overwritten!
# whoami
root

主要な特性


責任ある開示

すべての脆弱性は Linux カーネルセキュリティチームとネットワークメンテナに責任を持って開示されました。パッチはアップストリームにマージされ、安定版ツリーにバックポートされています。

  • CVE-2026-46331: v7.1-rc7 で修正、コミット 899ee91156e5
  • CVE-2026-43503: v7.1-rc5 で修正、コミット 48f6a5356a33

これらのエクスプロイトは、パッチが利用可能になった後に教育および防御目的で公開されています。ページキャッシュ破壊はメモリ上のみです — 再起動または echo 1 > /proc/sys/vm/drop_caches で元のファイルが復元されます。


著者

Rajat Gupta — Qualcomm オフェンシブセキュリティ


ライセンス

MIT

ツールをダウンロード
エクスプロイトバイパスされる防御書き込み実行者
Dirty Peditskb_ensure_writable (u32 ラップアラウンド → 部分 COW)skb_store_bits (直接 4 バイト書き込み)
skb_shiftSKBFL_SHARED_FRAG フラグが TCP SACK 中に喪失ESP AES-GCM 復号 (パケットごとに 1 バイト)
GRO Flag LossSKBFL_SHARED_FRAG フラグが GRO マージ中に喪失ESP AES-GCM 復号 (パケットごとに 1 バイト)
エクスプロイト導入修正影響を受けるディストリビューション
Dirty Peditv5.18 (2022年5月)v7.1-rc7Ubuntu, RHEL, Debian, Fedora, SUSE
skb_shiftv3.9 (2013)v7.1-rc5過去13年間すべてのディストリビューション
GRO Flag Lossv3.9 (2013)v7.1-rc5過去13年間すべてのディストリビューション
特性Dirty Peditskb_shiftGRO
権限なし (userns)なし (userns)なし (userns)
ファイルアクセスO_RDONLYO_RDONLYO_RDONLY
暗号の必要性いいえはい (AES-GCM)はい (AES-GCM)
書き込み制御4 バイト/パケット1 バイト/パケット1 バイト/パケット
信頼性決定的決定的確率的 (リトライ)
K8s コンテナエスケープいいえ (veth 不要)いいえはい (veth+GRO デフォルト)
攻撃対象領域geneve + TCloopback + espintcpveth + ESP-in-UDP