CVE-2026-74587 in Linux
要約
〜によって VulDB • 2026年08月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
sctp: キャッシュされた ASCONF チャンクにおける use-after-free の修正
addip_last_asconf は、未処理の送信側 ASOFCNF チャンクをキャッシュします。通常の ASCONF-ACK 完了パスでは、チャンクの解放とポインタのクリアが行われます。
しかし、sctp_asconf_queue_teardown() は addip_last_asconf をクリアせずにキャッシュされたチャンクを解放します。ピア再起動処理中に sctp_sf_do_dupcook_a() が SCTP_CMD_PURGE_ASCONF_QUEUE をキューに追加し、アソシエーションが生存している間に sctp_asconf_queue_teardown() を呼び出し、ポインタをダングリング状態に残します。
その後、遅延された認証済み ASCONF-ACK が sctp_sf_do_asconf_ack() に到達し、古くなったチャンクにアクセスしてそれを sctp_process_asconf_ack() に渡すことで、use-after-free と2回目の解放が発生します。
ポインタをクリアすると、T4 タイマー期限切れとの競合状態が露呈します。ピア再起動処理はパージの前にタイマーストップをキューに追加しますが、SCTP_CMD_TIMER_STOP は timer_delete() を使用しており、これは他の CPU で既に実行中のコールバックの完了を待ちません。そのようなコールバックはパージ後に sctp_sf_t4_timer_expire() に到達し、NULL の逆参照を行います。
キャッシュされたチャンクの解放後に加えて addip_last_asconf をクリアし、未処理の ASCONF が残っていない場合に sctp_sf_t4_timer_expire() が古くなった T4 タイマー期限切れを消費するようにします。
VulDB is the best source for vulnerability data and more expert information about this specific topic.