Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
tcp2kaslr — CVE-2026-98432:プレーンなIPv4 TCPサーバーが脆弱であり、MPTCPはトリガーではない。バグのトリガー、証拠、および分析。 | Kitploit
ツール/GitHubGitHub/offline-ant/tcp2kaslr
メモリフォレンジック脆弱性分析エクスプロイトファジング論文と研究ラボと実践
GitHuboffline-ant/tcp2kaslr

tcp2kaslr

CVE-2026-98432:プレーンなIPv4 TCPサーバーが脆弱であり、MPTCPはトリガーではない。バグのトリガー、証拠、および分析。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-98432

DeepSeek による執筆。

プレーンな IPv4 TCP サーバーが脆弱です。MPTCP はトリガーではありません。

リリース tarball から Linux 6.18.55 をビルドし、通常の IPPROTO_TCP リスナーでカーネルに解放済みメモリを読ませました。KASAN はそれを 2 回報告しました。MPTCP ソケットは一度も作成されておらず、ある実行ではカーネルで MPTCP が無効化されていました。

同じバグにより、カーネルは解放済みオブジェクトからバイトをコピーし、返信パケットに含めて送信します。これは KASLR 破りのために必要なプリミティブであり、未公開の作業でそれが発生するのを観測しています。私たちはカーネルアドレスのリークを構築しておらず、書き込みも証明していません。

ここでコードとログによって証明されているのは、use-after-free が実在し、標準の TCP で到達可能であり、アップストリームの修正がそれを止めるということです。

実行結果

カーネルMPTCP試行回数時間結果
6.18.55、修正なし未使用134,95534 秒KASAN use-after-free
6.18.55、修正なし無効化191,43180 秒KASAN use-after-free
6.18.55 + 修正未使用439,316411 秒クリーン

再現の難易度は?

非常に高いです。KASAN ではリーダーが遅いため、バグは数十万回の試行で現れます。通常のカーネルでははるかに稀で、約 4,800 万回の試行で 2 回のイベントを観測し、いずれも同じ 5 秒以内に発生しました。

これはレートを述べるには少なすぎます。私たちが主張できる最大限は、試行あたりおよそ 1e-7 という上限であり、それすら最良ケースです。なぜなら私たちのハーネスは 2 つのパケットを 2 つの CPU に強制的に割り当てますが、実際の NIC は通常 1 つのフローを 1 つの CPU に送るからです。

したがって、クリーンな実行は安全なカーネルを意味しません。数値を引用する前に ANALYSIS.md のセクション 5.2 と 6 を読んでください。

平易な言葉でのバグ

TCP サーバーが SYN を受け取ります。SYN は IPv4 オプション(Record Route または Timestamp)を運びます。カーネルはそれらのオプションをリクエストソケットに保存します。

同じ接続に対する 2 つ目の SYN が到着します。カーネルはそれに対する SYNACK を構築し、保存されたオプションを読み取ります。

同時にハンドシェイクが完了します。子ソケットはコピーではなく同じポインタを取得します。サーバーが子を閉じると、カーネルはプレーンな kfree() でオプションを解放します。

SYNACK のコードはまだそのメモリを読み取っています。これが use-after-free です。同じ読み取りが、解放済みのバイトをパケットに含める原因でもあります。

このリポジトリがそうでないもの

これはバグトリガーであり、エクスプロイトではありません。カーネルアドレスをリークせず、カーネルメモリに書き込まず、root を取得しません。カーネルが解放済みメモリを読み取ることを示しており、KASAN が判定者です。

リポジトリは意図的にそこで止まっています。以降の段階は非公開で作業され、ここでは公開されていません。

再現する

scripts/get-kernel.sh              # fetch 6.18.55, sha256 checked, into linux/
scripts/build-kernel.sh vuln       # KASAN kernel, no fix
scripts/build-kernel.sh patched    # KASAN kernel, with the fix
scripts/build-harness.sh           # builds harness/init + initramfs
scripts/run.sh vuln 90 selftest    # checks the wiring only
scripts/run.sh vuln 600            # expect a KASAN report
scripts/run.sh patched 600         # expect nothing

gcc、make、bison、flex、bc および qemu-system-x86_64 が必要です。KVM があると大幅に高速化されます。 VM は 2 GB の RAM と 8 個の vCPU を使用します。

1 回の実行では何も表示されないことがあります。 これは安全なカーネルの証拠にはなりません。複数回実行し、ANALYSIS.md に記載されている注意事項をお読みください。

自身のカーネルを確認する

バージョン文字列を信用しないでください。バイナリ内のコードを確認してください。

scripts/check-free-sites.py

実行中のカーネル内にある2つの解放サイトを特定し、それぞれがどの関数を呼び出しているかを示します。kfree(脆弱)または kvfree_call_rcu(修正済み)です。

これが書かれたマシン(6.18.59_1)では、両方のサイトが kvfree_call_rcu を使用しているため、そのカーネルは修正済みです。

影響を受ける環境

以下の3つすべてが当てはまる場合、ホストは影響を受けます。

  1. IPv4 TCP で待ち受けている、かつ
  2. ピアが IP オプション付きの SYN を送信する、かつ
  3. プログラムが accept したソケットをすぐに close する。

攻撃者が制御できるのはポイント2です。そのため、ほとんどのインターネットサーバーが影響を受け、「MPTCP を使っていない」ことは助けになりません。

2つの注意点:

  • accept_source_route=0 はあなたを保護しません。これはソースルーティングのみをブロックし、Record Route や Timestamp はブロックしません。
  • まだパッチを適用できない場合は、IP オプションを含む受信 SYN をドロップしてください。そうすればカーネルはリクエストソケット用のオプションを保存しなくなります。パッチを適用する方がより良いです。

ファイル

パス内容
ANALYSIS.md完全なレポート:ソースパス、手法、結果、限界
harness/QEMU 内で /init として実行されるバグトリガー
patches/アップストリームの修正。対照ビルドに使用
scripts/取得、ビルド、実行、チェック用のヘルパー
evidence/KASAN レポート、実行ログ、ビルド比較

対象範囲

テスト用カーネルのみ、かつあなたが所有するものに限ります。ここにあるものを、あなたが管理していないシステムに向けるべきではありません。

ライセンス

私たちのコードとテキストは MIT です。patches/ には Linux カーネルのコミットが含まれており、GPL-2.0 のままです。LICENSE を参照してください。

ツールをダウンロード