CVE-2026-52924
sctp: 古いCOOKIE-ECHO処理時に出力キューをパージする
- 公開済み
- 2026/06/24
- 更新済み
- 2026/09/15
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/09/07
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 37.4%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linux カーネルにおいて、以下の脆弱性が解決されました: sctp: 古い COOKIE-ECHO 処理時に出力キューをパージする sctp_stream_update() は、アソシエーションのセットアップ/再設定中にアソシエーションが COOKIE_WAIT へ移行した場合にのみ呼び出されます。このパスでは、状態機械がすでに部分的に進行していない限り、ユーザーデータはまだ送信されていないはずであるため、送信ストリームスケジューラの状態 (stream->out_curr) はクリーンであることが期待されます。しかし、sctp_sf_do_5_2_6_stale() にはコーナーケースが存在します: Stale Cookie ERROR を受信すると、アソシエーションは COOKIE_ECHOED から COOKIE_WAIT へロールバックされます。このシナリオでは、ユーザーデータがすでにキューに入れられ、COOKIE-ECHO チャンクにバンドルされている可能性があります。ロールバック中、sctp_stream_update() は古いストリームテーブルを解放して新しいものをインストールしますが、stream->out_curr を無効化しません。その結果、out_curr は以前のストリーム状態から解放された sctp_stream_out エントリを依然として指している可能性があります。その後、SCTP スケジューラのデキュー パス (FCFS、RR、PRIO など) は stream->out_curr->ext に依存するため、古いストリーム状態が sctp_stream_free() を介して解放されると use-after-free が発生する可能性があります。これにより、(Yuqi によって報告された) 以下のようなクラッシュが発生します: 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) 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 Stale Cookie ケースの処理時にアソシエーションの出力キューを完全にパージすることで、これを修正します。これにより、保留中の送信および再送信状態がすべて破棄され、スケジューラにキャッシュされたポインタも無効化されるため、COOKIE_WAIT 再起動中にストリーム状態を安全に再構築できます。stream->out_curr のみを更新するだけでは不十分です。キューに入れられたデータおよび再送信可能なデータが依然として古いストリーム状態を参照し、デキュー パスで後続の use-after-free を引き起こす可能性があるためです。
ソース
1CVE-2026-52924の技術的分析。LinuxカーネルのSCTP stale cookie処理における重大なuse-after-free、根本原因、攻撃フロー、修正、検出方法を含む。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。