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

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

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、根本原因分析、パッチの詳細を含む。

リポジトリを見る
11161ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

⚡ CVE-2026-74469 — DiagSpill

Gemini_Generated_Image_yv49p8yv49p8yv49

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

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


⚠️ 免責事項

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

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


📌 脆弱性の概要

項目詳細
CVECVE-2026-74469
コードネームDiagSpill
コンポーネントLinux カーネル
サブシステムSCTP / sock_diag
影響を受けるファイルnet/sctp/associola.c
主要関数sctp_assoc_add_peer()
バグ分類整数オーバーフロー / 範囲外書き込み
影響カーネルメモリ破壊
潜在的な影響ローカル権限昇格
CVSS v3.17.0 — High
攻撃ベクトルローカル
攻撃の複雑さ高
必要な権限低
ユーザー操作なし
ステータス修正済み

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


🧬 脆弱性の説明

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

transport_count

新しく追加された一意のピアごとにカウンターが増加します。

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

65535

別の独自トランスポートを追加すると、次のようになります:

65535 + 1
     ↓
     0

その結果生じるラップアラウンドは、以下の間に不整合を生じさせます:

transport_count

and:

transport_addr_list

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


🔬 根本原因

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

                    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 つの異なる見方に依存しています。

割り当て側

transport_count
       │
       ▼
payload size

コピー側

transport_addr_list
       │
       ▼
copy every peer address

整数がラップした後:

transport_count = 0

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

アロケータはしたがって、以下に基づいて領域を予約します:

0 peers

コピー操作がまだ処理できる間は、

65536 peer addresses

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


💥 メモリ破壊

Linux Kernel のアドバイザリでは、結果として生じる診断ダンプを、空のペイロードを確保した後に skb のテールを超えて約 8 MiB のピアアドレスを書き込むものと説明しています。

概念的には:

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: 境界外書き込み に分類しています。


🔎 脆弱なコードパス

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

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

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

net/sctp/associola.c

Linux カーネルの CVE アナウンスは、このファイルを明示的に特定しています。


🩹 アップストリームの修正

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

bd0e9289e2642f6a5c54faad304ce0f41e926d22

コミット:

sctp: prevent peer transport count overflow

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

transport_count >= U16_MAX

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

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


🛡️ パッチロジック

脆弱

New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

パッチ適用済み

New peer
   │
   ▼
Existing peer?
   │
 ┌─┴──────────┐
 │            │
YES           NO
 │            │
 ▼            ▼
Reuse       Check U16_MAX
transport       │
                ▼
          Reject at limit

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


📊 脆弱 vs パッチ適用済み

セキュリティ特性脆弱パッチ適用済み
16ビットトランスポート制限の適用❌✅
カウンタのラップ防止❌✅
既存ピアが引き続き使用可能✅✅
診断ペイロードサイズの信頼性❌✅
OOB skb書き込みの防止❌✅
カーネルメモリ破壊の緩和❌✅

💥 セキュリティへの影響

メモリ破壊は潜在的に以下を引き起こす可能性があります:

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

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

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


🧪 研究環境

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

ツールをダウンロード