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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-52924 — CVE-2026-52924の技術的分析。LinuxカーネルのSCTP stale cookie処理における重大なuse-after-free、根本原因、攻撃フロー、修正、検出方法を含む。 | Kitploit
ツール/GitHubGitHub/eliot-code/cve-2026-52924
脆弱性分析エクスプロイト論文と研究学習と教育バイナリエクスプロイト
GitHubeliot-code/cve-2026-52924

CVE-2026-52924

CVE-2026-52924の技術的分析。LinuxカーネルのSCTP stale cookie処理における重大なuse-after-free、根本原因、攻撃フロー、修正、検出方法を含む。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-52924: SCTP の古い Cookie 処理における Use-After-Free

脆弱性の概要

CVE ID: CVE-2026-52924
深刻度: CRITICAL (CVSS 9.8)
コンポーネント: Linux Kernel - SCTP (Stream Control Transmission Protocol)
タイプ: Use-After-Free (CWE-416、CWE-825)
公開日: 2026-06-24
ステータス: 修正済み

影響を受けるバージョン

  • Linux Kernel < 5.10.259
  • Linux Kernel < 5.15.210
  • Linux Kernel < 6.1.176
  • Linux Kernel < 6.6.143
  • Linux Kernel < 6.12.94
  • Linux Kernel < 6.18.36
  • Linux Kernel < 7.0.13
  • Linux Kernel < 7.1

技術的詳細

根本原因

この脆弱性は、SCTP ステートマシンにおける古い COOKIE-ECHO パケットの処理で発生します。この問題は、アソシエーションがロールバックされた際の送信ストリームキューの不適切なクリーンアップに関係しています。

攻撃フロー

  1. 通常動作: アソシエーションが COOKIE_ECHOED 状態に移行
  2. ユーザーデータのキューイング: アプリケーションがデータを送信し、送信キューに格納
  3. 古い Cookie エラー: リモートピアが Stale Cookie エラーを送信
  4. ロールバックのトリガー: アソシエーションが COOKIE_ECHOED → COOKIE_WAIT にロールバック
  • ストリーム状態の更新: sctp_stream_update() が古いストリームテーブルを解放し、新しいものをインストール
  • 無効なポインタ: stream->out_curr が解放された sctp_stream_out エントリを指したまま
  • デキューのアクセス: スケジューラがデキュー (FCFS、RR、PRIO) を試みると、out_curr->ext にアクセス
  • Use-After-Free: 解放済みメモリへのアクセス → KASAN 検出によるカーネルクラッシュ
  • 問題のあるコードフロー

    root@kitploit:~
    sctp_sf_do_5_2_6_stale():
      ├─ Stale Cookie エラーを受信
      ├─ アソシエーション状態をロールバック
      └─ sctp_stream_update() を呼び出し
           ├─ 古いストリームテーブルを解放
           ├─ 新しいストリームテーブルをインストール
           └─ バグ: stream->out_curr が無効化されていない ❌
    
    後でデキューする際:
      sctp_sched_fcfs_dequeue():
        └─ stream->out_curr->ext にアクセス (解放済みメモリ) 💥
    

    クラッシュ例

    root@kitploit:~
    BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140
    Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312
    CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full)
    
    Call trace:
      sctp_sched_fcfs_dequeue+0x13a/0x140
      sctp_outq_flush+0x1603/0x33e0
      sctp_do_sm+0x31c9/0x5d30
      sctp_assoc_bh_rcv+0x392/0x6f0
      sctp_inq_push+0x1db/0x270
      sctp_rcv+0x138d/0x3c10
    

    out_curr の更新だけでは不十分な理由

    単純な修正として stream->out_curr をクリアするだけでは不十分です:

    root@kitploit:~
    // 不十分な修正 ❌
    stream->out_curr = NULL;
    

    問題: アウトキューには依然として以下が含まれています:

    • 古いストリーム状態を参照するキューイング済みデータチャンク
    • 古いストリームを指す再送信キューのエントリ
    • 古いストリームメタデータとバンドルされた制御チャンク

    これらの古い参照は、アクセス時に依然として use-after-free を引き起こします。

    正しい修正

    解決策: 古い Cookie 処理中にアソシエーションのアウトキューを完全にパージします。

    root@kitploit:~
    // 正しい修正 ✓
    sctp_outq_free(&asoc->outqueue);
    

    これにより以下が保証されます:

    1. 保留中のすべての送信データが破棄される
    2. すべての再送信キューのエントリが解放される
    3. スケジューラのキャッシュされたポインタ (out_curr など) が無効化される
    4. COOKIE_WAIT 再起動中にストリーム状態を安全に再構築できる
    5. 解放されたストリームエントリへのダングリング参照がなくなる

    実装箇所

    ファイル: net/sctp/sm_statefuns.c
    関数: sctp_sf_do_5_2_6_stale()
    追加: sctp_stream_update() の前に sctp_outq_free(&asoc->outqueue) を呼び出す

    root@kitploit:~
    enum sctp_disposition sctp_sf_do_5_2_6_stale(...)
    {
        // ... 既存のコード ...
        
        // ストリーム状態を再構築する前にアウトキューをパージ
        sctp_outq_free(&asoc->outqueue);
        
        // これでストリームを安全に更新できる
        sctp_stream_update(&asoc->stream, &asoc->c.h_init_tag);
        
        // ... 関数の残りの部分 ...
    }
    

    影響分析

    深刻度要因 (CVSS 9.8)

    • 攻撃ベクトル: ネットワーク (CVSS:3.1/AV:N)
    • 攻撃の複雑さ: 低 (CVSS:3.1/AC:L)
    • 必要な権限: なし (CVSS:3.1/PR:N)
    • ユーザー操作: なし (CVSS:3.1/UI:N)
    • スコープ: 変更なし (CVSS:3.1/S:U)
    • 機密性への影響: 高 (CVSS:3.1/C:H)
    • 完全性への影響: 高 (CVSS:3.1/I:H)
    • 可用性への影響: 高 (CVSS:3.1/A:H)

    悪用の要件

    1. ターゲットシステムへのネットワークアクセス (SCTP ポートがオープン)
    2. 接続を確立するための SCTP パケット送信能力
    3. 特定のタイミング (COOKIE_ECHOED 状態) で Stale Cookie エラーを送信
    4. スケジューラのデキュー操作をトリガー

    攻撃シナリオ

    1. サービス拒否 (DoS): カーネルを繰り返しクラッシュさせる → DoS
    2. 情報漏えい: UAF を介してカーネルメモリを読み取る
    3. 権限昇格: メモリ操作による可能性
    4. リモートコード実行: メモリ破壊エクスプロイトによる可能性

    検出方法

    KASAN 検出 (ランタイム)

    root@kitploit:~
    # カーネル設定で KASAN を有効化
    CONFIG_KASAN=y
    CONFIG_KASAN_GENERIC=y
    
    # ランタイム出力に表示される内容:
    BUG: KASAN: slab-use-after-free
    

    静的解析

    root@kitploit:~
    # 検証なしの安全でない stream->out_curr アクセスを探す
    grep -r "out_curr->ext" net/sctp/
    grep -r "out_curr->" net/sctp/sched*.c
    

    ネットワーク検出

    • SCTP Stale Cookie ERROR パケット (タイプ 3、コード 1) を監視
    • 接続ロールバックパターンを追跡
    • 急速な COOKIE_ECHOED → COOKIE_WAIT 遷移でアラート

    緩和策

    一時的な緩和策 (パッチ適用まで)

    1. SCTP の無効化: SCTP モジュールを削除するか、SCTP ポート (132、132 UDP) をブロック

      root@kitploit:~
      echo "install sctp /bin/true" >> /etc/modprobe.d/sctp-disable.conf
      
    2. ファイアウォールルール: ネットワーク境界で SCTP トラフィックをブロック

      root@kitploit:~
      iptables -A INPUT -p sctp -j DROP
      
    3. カーネルバージョン: パッチ適用済みバージョンにアップグレード

      • 5.10.259+
      • 5.15.210+
      • 6.1.176+
      • 6.6.143+
      • 6.12.94+
      • 6.18.36+
      • 7.0.13+
      • 7.1+ (最新)

    恒久的な修正

    sctp_sf_do_5_2_6_stale() で sctp_outq_free() を呼び出すカーネルパッチを適用します。

    参考情報

    • CWE-416: Use After Free
    • CWE-825: Expired Pointer Dereference
    • CVSS 計算ツール: https://www.first.org/cvss/calculator/3.1
    • NVD エントリ: CVE-2026-52924
    • Linux Kernel セキュリティ: https://www.kernel.org/doc/html/latest/security/

    テスト推奨事項

    ユニットテスト

    1. sctp_outq_free() が out_curr を適切に無効化することを検証
    2. outq_free 中にすべてのキューイング済みデータが解放されることを検証
    3. 再送信キューがクリアされることを検証
    4. outq パージ後のスケジューラの動作をテスト

    統合テスト

    1. 通常の古い Cookie リカバリフロー
    2. 古い Cookie 受信時に送信中データがある場合
    3. 複数の急速な古い Cookie
    4. 異なる SCTP スケジューラ (FCFS、RR、PRIO)

    ファジングテスト

    1. 古い Cookie エラーを含む SCTP パケットを送信
    2. エラー注入のタイミングを変更
    3. 送信中のデータ量を変更
    4. 高負荷条件下でテスト

    タイムライン

    • 2026-06-24: 脆弱性が公開
    • ステータス: 修正版が利用可能
    • EPSS スコア: 0.3% (27 パーセンタイル)
      • 悪用確率は低い
      • 特定のネットワーク条件が必要
      • インデックス化された実世界のエクスプロイトは限定的

    著者: Elliot ドキュメントバージョン: 1.0
    最終更新日: 2026-09-07
    分類: 公開情報

    ツールをダウンロード