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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-74469 — CVE-2026-74469(DiagSpill)の研究リポジトリ。LinuxカーネルSCTPピアトランスポートカウンタのオーバーフローによる境界外書き込みで、PoC、根本原因分析、パッチの詳細を含む。 | Kitploit
ツール/GitHubGitHub/0xblackash/cve-2026-74469
特権昇格メモリフォレンジック脆弱性分析エクスプロイト論文と研究学習と教育バイナリエクスプロイトラボと実践
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

CVE-2026-74469(DiagSpill)の研究リポジトリ。LinuxカーネルSCTPピアトランスポートカウンタのオーバーフローによる境界外書き込みで、PoC、根本原因分析、パッチの詳細を含む。

リポジトリを見る
7時間48分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

⚡ CVE-2026-74469 — DiagSpill

Linux カーネル SCTP ピアトランスポートカウントオーバーフロー

Linux カーネルの SCTP 脆弱性は、16 ビットのピアトランスポートカウンタの オーバーフローによって引き起こされ、カウンタが 65535 から 0 へ ラップアラウンドすることを可能にします。SCTP 診断ダンプ中に、ラップした値が skb ペイロードの予約不足を引き起こし、続いてピアアドレスデータの 境界外書き込みが発生する可能性があります。


⚠️ 免責事項

このリポジトリは、許可されたセキュリティ研究、カーネル脆弱性分析、 CTF 環境、カーネルデバッグ、および防御的テストのみを目的としています。

明示的な許可なく、システムに対して概念実証コードを使用しないでください。


📌 脆弱性の概要

Linux カーネル CVE アドバイザリでは、この問題を SCTP における 16 ビットの transport_count オーバーフローとして説明しており、それに続いて INET_DIAG_PEERS の過小な割り当てと、診断ダンプ中の境界外書き込みが 発生します。


🧬 脆弱性の説明

脆弱なコードは、一意のピアトランスポートの数を 16 ビットカウンタで 管理しています:

root@kitploit:~
transport_count

新しく追加された一意のピアごとにカウンタがインクリメントされます。

重要な境界は次のとおりです:

root@kitploit:~
65535

さらに別の一意のトランスポートを追加すると、次のようになります:

root@kitploit:~
65535 + 1
     ↓
     0

結果として生じるラップアラウンドは、次の間に不整合を生み出します:

root@kitploit:~
transport_count

および:

root@kitploit:~
transport_addr_list

診断サブシステムは後に、応答バッファのサイズを計算する際にラップした カウンタを信頼しますが、ピアアドレスの完全なリストを反復処理し続けます。


🔬 根本原因

脆弱性は次のように表すことができます:

root@kitploit:~
                    SCTP Association
                           │
                           ▼
                 Add unique peers
                           │
                           ▼
                 transport_count
                    uint16_t
                           │
                           ▼
                    65,535 peers
                           │
                           ▼
                 + 1 unique peer
                           │
                           ▼
                    Integer wrap
                           │
                           ▼
                transport_count = 0
                           │
                           ▼
                  SCTP sock_diag
                           │
                           ▼
             Reserve incorrect payload
                           │
                           ▼
          Iterate complete peer list
                           │
                           ▼
             Out-of-bounds skb write

アップストリームのアドバイザリでは、65,536 番目のトランスポートが カウンタをゼロにラップさせると明記されています。


🧠 バグが発生する理由

診断コードは事実上、同じ状態に対する 2 つの異なるビューに依存しています。

割り当て側

root@kitploit:~
transport_count
       │
       ▼
payload size

コピー側

root@kitploit:~
transport_addr_list
       │
       ▼
copy every peer address

整数がラップした後:

root@kitploit:~
transport_count = 0

transport_addr_list =
    [peer 1]
    [peer 2]
    [peer 3]
    ...
    [peer 65536]

したがって、アロケータは次の基準で領域を予約します:

root@kitploit:~
0 peers

一方、コピー操作は依然として次の処理を行う可能性があります:

root@kitploit:~
65536 peer addresses

この不一致がメモリ安全性違反を引き起こします。


💥 メモリ破壊

Linux カーネルアドバイザリでは、結果として生じる診断ダンプが空の ペイロードを予約し、その後 約 8 MiB のピアアドレスを skb テールを 超えて書き込むと説明されています。

概念的には:

root@kitploit:~
Expected skb:

┌───────────────────────────────┐
│ INET_DIAG header              │
├───────────────────────────────┤
│ Peer addresses                │
└───────────────────────────────┘
              ▲
              │
          valid end


Actual vulnerable state:

┌───────────────────────────────┐
│ INET_DIAG header              │
└───────────────────────────────┘
              ▲
              │
          skb tail

              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      OUT-OF-BOUNDS WRITE

Red Hat はこの欠陥を CWE-787: 境界外書き込み に分類しています。


🔎 脆弱なコードパス

関連するパスは次のように要約できます:

root@kitploit:~
SCTP association
      │
      ▼
sctp_assoc_add_peer()
      │
      ▼
transport_count++
      │
      ▼
16-bit overflow
      │
      ▼
SCTP sock_diag
      │
      ▼
INET_DIAG_PEERS
      │
      ▼
skb payload reservation
      │
      ▼
transport_addr_list iteration
      │
      ▼
Out-of-bounds write

影響を受けるソースファイルは次のとおりです:

root@kitploit:~
net/sctp/associola.c

Linux カーネル CVE の発表では、このファイルが明示的に特定されています。


🩹 アップストリーム修正

アップストリームの修正は次のとおりです:

root@kitploit:~
bd0e9289e2642f6a5c54faad304ce0f41e926d22

コミット:

root@kitploit:~
sctp: prevent peer transport count overflow

この修正は、次の場合に新しい一意のピアを拒否します:

root@kitploit:~
transport_count >= U16_MAX

重要なのは、このチェックが 既存ピアの検索後 に行われることです。

これにより、アソシエーションが上限に達した場合でも、既に存在する トランスポートを取得する機能が維持されます。


🛡️ パッチのロジック

脆弱

root@kitploit:~
New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

修正済み

root@kitploit:~
New peer
   │
   ▼
Existing peer?
   │
 ┌─┴──────────┐
 │            │
YES           NO
 │            │
 ▼            ▼
Reuse       Check U16_MAX
transport       │
                ▼
          Reject at limit

重要なセキュリティ特性は、既存ピアの通常の検索セマンティクスを維持しつつ、 カウンタがラップすることを決して防ぐことです。


📊 脆弱 vs 修正済み


💥 セキュリティへの影響

メモリ破壊は潜在的に次の結果をもたらす可能性があります:

  • カーネルクラッシュ
  • サービス拒否
  • カーネルメモリ破壊
  • 境界外カーネル書き込み
  • 潜在的な権限昇格
  • 潜在的なカーネルコード実行

開示後に公開された研究では、特定の条件下でのローカル root 権限昇格が 報告されていますが、元の Linux カーネル CNA スコアリングでは AV:L/AC:H/PR:L/UI:N が使用されています。

この脆弱性は、非常に特定の SCTP/アドレス設定の状況下で潜在的に リモートから到達可能であるとも説明されていますが、これは一般的に リモートで悪用可能な脆弱性と同等に扱うべきではありません。


🧪 研究環境

推奨される分離トポロジ:

root@kitploit:~
┌───────────────────────────────────────────┐
│              Linux VM                    │
│                                           │
│       ┌───────────────────┐               │
│       │   SCTP Association │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │ Multiple SCTP      │               │
│       │ Peer Transports    │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │   SCTP sock_diag   │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│          INET_DIAG_PEERS                  │
│                                           │
└───────────────────────────────────────────┘

便利なツール:

root@kitploit:~
ip sctp
ss
ss -a
ss -A sctp
dmesg -w
gdb
pwndbg
crash

SCTP サポートの確認:

root@kitploit:~
lsmod | grep sctp

カーネル設定の確認:

root@kitploit:~
grep CONFIG_IP_SCTP /boot/config-$(uname -r)

🔎 カーネルの検証

実行中のカーネルの確認:

root@kitploit:~
uname -r

SCTP 設定の確認:

root@kitploit:~
grep -E 'CONFIG_IP_SCTP|CONFIG_SCTP' \
/boot/config-$(uname -r)

ロードされた SCTP モジュールの確認:

root@kitploit:~
lsmod | grep -i sctp

SCTP ソケットの検査:

root@kitploit:~
ss -A sctp

🧪 再現ワークフロー

制御されたカーネル研究の場合:

root@kitploit:~
01. Build vulnerable kernel
          ↓
02. Boot isolated VM
          ↓
03. Enable SCTP
          ↓
04. Create controlled SCTP association
          ↓
05. Populate unique peer transports
          ↓
06. Reach transport-count boundary
          ↓
07. Trigger SCTP diagnostic dump
          ↓
08. Monitor skb diagnostics
          ↓
09. Capture kernel behavior
          ↓
10. Apply upstream fix
          ↓
11. Repeat test
          ↓
12. Compare vulnerable vs patched

カーネル出力の監視:

root@kitploit:~
sudo dmesg -w

デバッグの場合:

root@kitploit:~
gdb vmlinux

または:

root@kitploit:~
pwndbg vmlinux

📂 リポジトリ構造

root@kitploit:~
CVE-2026-74469-DiagSpill/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── sctp-transport-count.md
│   ├── sock-diag.md
│   ├── skb-overflow.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🛡️ 緩和策

主な緩和策は、アップストリームの修正を含むカーネルにアップグレードすることです。

Debian/Kali の場合:

root@kitploit:~
sudo apt update
sudo apt full-upgrade

その後再起動:

root@kitploit:~
sudo reboot

確認:

root@kitploit:~
uname -r

SCTP が不要な場合、管理者は環境と運用要件に応じて、影響を受ける SCTP 機能を無効化することも検討できます。公開研究では、これらのコンポーネントが 未使用の場合の即時緩和策として、SCTP / sctp_diag の無効化が 具体的に挙げられています。


📦 修正済みカーネルリリース

アップストリームの安定版発表では、以下の修正済みリリースが リストされています:

これらのバージョンは Linux カーネル CVE の発表によるものです。 ディストリビューションは、異なるバージョン番号のパッケージに修正を バックポートする場合があります。


🧩 セキュリティの教訓

01 — 境界付きカウンタが暗黙的にラップすることを決して許してはならない

16 ビットカウンタには厳格な最大値があります:

root@kitploit:~
U16_MAX = 65535

セキュリティ上重要なコードは、この境界を明示的に処理する必要があります。

02 — 割り当て数とコピー数は一致しなければならない

バッファの割り当てに使用されるサイズは、実際にそこにコピーされる オブジェクトの数に対応していなければなりません。

03 — 診断インターフェースはセキュリティ上重要である

カーネル診断 API は、内部状態が不整合になると、メモリ破壊の攻撃対象面に なる可能性があります。

04 — 整数バグはメモリ安全性バグになり得る

元のプリミティブは整数オーバーフローですが、結果として生じるセキュリティ への影響はカーネルの境界外書き込みです。

05 — カーネルネットワーク状態は複雑である

SCTP アソシエーションは大量のピアトランスポートの集合を含む可能性があり、 カウンタの制限とリスト管理ロジックがセキュリティ上重要になります。


📚 参考文献

  • CVE: CVE-2026-74469
  • コードネーム: DiagSpill
  • サブシステム: Linux SCTP
  • 影響を受けるファイル: net/sctp/associola.c
  • 主要関数: sctp_assoc_add_peer()
  • 修正: sctp: prevent peer transport count overflow
  • アップストリーム修正: bd0e9289e2642f6a5c54faad304ce0f41e926d22
  • CWE: CWE-787 / 境界外書き込み
  • Linux カーネル CVE アドバイザリ: CVE-2026-74469 advisory
  • Debian セキュリティトラッカー: CVE-2026-74469 Debian tracker
  • Red Hat: CVE-2026-74469 Red Hat advisory

⚡ DiagSpill

CVE-2026-74469

Linux Kernel · SCTP · sock_diag · OOB Write · Kernel Security


Research • Analyze • Reproduce • Harden


0xBlackash

ツールをダウンロード
項目詳細
CVECVE-2026-74469
コードネームDiagSpill
コンポーネントLinux Kernel
サブシステムSCTP / sock_diag
影響を受けるファイルnet/sctp/associola.c
主要関数sctp_assoc_add_peer()
バグクラス整数オーバーフロー / 境界外書き込み
影響カーネルメモリ破壊
潜在的な影響ローカル権限昇格
CVSS v3.17.0 — High
攻撃ベクトルローカル
攻撃の複雑さ高
必要な権限低
ユーザー操作なし
ステータス修正済み
セキュリティ特性脆弱修正済み
16 ビットトランスポート制限の適用❌✅
カウンタのラップ防止❌✅
既存ピアが引き続き使用可能✅✅
診断ペイロードサイズの信頼性❌✅
OOB skb 書き込みの防止❌✅
カーネルメモリ破壊の緩和❌✅
ブランチ修正済みリリース
5.105.10.265
5.155.15.216
6.16.1.183
6.66.6.151
6.126.12.103
6.186.18.44
7.17.1.8
7.27.2-rc6