CVE-2026-98548

Kritik

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: sctp: stale-cookie hatasında paketin geri kalanını atın Bir ilişkilendirme COOKIE-ECHOED durumundayken ve karşı taraf birincil olmayan adreslerinden birinden paketlenmiş bir [ERROR(Stale Cookie)][DATA] paketi gönderdiğinde, ERROR parçacığının işlenmesi ölümcül olmayan stale-cookie yeniden deneme yolu olan sctp_sf_do_5_2_6_stale()'i tetikler; bu işlem ilişkilendirmeyi hayatta tutarken SCTP_CMD_DEL_NON_PRIMARY komutunu kuyruğa alır. sctp_cmd_del_non_primary(), bu paketin geldiği taşıma katmanı da dahil olmak üzere tüm birincil olmayan taşımaları kaldırır; ancak söz konusu taşıma katmanı hala alma araması tarafından referans verilmektedir ve paketin tüm parçacıkları tarafından chunk->transport aracılığıyla paylaşılmaktadır. sctp_assoc_rm_peer(), asoc->peer.last_data_from yönlendirmesini kaldırılan taşımadan uzaklaştırır, ancak hemen ardından paketlenmiş DATA parçacığı sctp_assoc_bh_rcv()'nin koşulsuz olarak asoc->peer.last_data_from = chunk->transport şeklinde yeniden kayıt yapmasına neden olur ve az önce kaldırılan taşıma ile yapılan yönlendirmeyi geri alır. Paket işlemi tamamlandığında, alma referansı düşürülür ve taşıma RCU ile serbest bırakılırken, hayatta kalan ilişkilendirme askıda kalan last_data_from referansını tutmaya devam eder. Daha sonra gelen bir FWD-TSN (veya gecikmiş SACK zamanlayıcısı), sctp_gen_sack()'in bunu dereferans etmesine (->param_flags ve benzerleri) neden olur ve sctp_make_sack()/sctp_outq_select_transport() serbest bırakılmış nesneye yazabilir ve onu canlı taşıma listesine bağlayabilir. Bu durum, herhangi bir yetenek gerektirmeden kötü niyetli herhangi bir SCTP karşı tarafı (veya karşı taraf gibi davranan yerel ayrıcalıksız bir kullanıcı) tarafından tetiklenebilen bir serbest bırakıldıktan sonra kullanım (use-after-free) açığıdır: BUG: KASAN: slab-use-after-free in sctp_do_sm+0x498a/0x5660 Read of size 4 at addr ffff88800e1e356c by task poc/115 Call Trace: sctp_do_sm <- sctp_assoc_bh_rcv <- sctp_inq_push <- sctp_rcv <- ip_protocol_deliver_rcu <- ip_rcv Allocated: sctp_transport_new <- sctp_assoc_add_peer <- sctp_process_init (INIT-ACK processing) Freed: kfree <- sctp_transport_destroy_rcu <- rcu_core (call_rcu queued by sctp_transport_put at end of sctp_rcv) The buggy address is located 364 bytes inside of freed 1024-byte region [ffff88800e1e3400, ffff88800e1e3800), cache kmalloc-1k 03a9d10ecf71 ("sctp: drop a chunk if its transport was removed") numaralı commit'in yalnızca alma araması ile parçacık işleme arasındaki pencereyi kapsadığına dikkat edin (örneğin soket birikiminde yarışan bir ASCONF DEL-IP); burada ise taşıma katmanı, aynı paketin daha önceki bir parçacığı tarafından paket işlenirken kaldırılmaktadır, dolayısıyla sctp_inq_push()'deki atlama işlemi bu yola ulaşmaz. Paketlenmiş [ERROR(Stale Cookie)][DATA] + FWD-TSN reprodüksiyonu ile doğrulanmıştır: Söz konusu commit uygulandığında yukarıdaki KASAN raporu hala oluşmakta, ancak bu yama üzerine eklendiğinde sorun ortadan kalkmaktadır. Xin tarafından önerildiği üzere, bu yol üzerinde paketin geri kalanının atılmasıyla sorun giderilmiştir. Stale-cookie ERROR mesajı ilişkilendirmeyi tekrar COOKIE-WAIT durumuna döndürüp birincil olmayan taşımaları kaldırdıktan sonra, paketin geri kalan parçacıkları chunk->transport üzerinden kaldırılan geliş taşımasını referans alırken yalnızca yeniden başlatılan el sıkışma işlemine karşı çalışabilir: Yukarıdaki last_data_from kaydına ek olarak, sctp_cmd_setup_t2() ve sctp_make_*() yanıt oluşturucuları da bu işaretçiyi, sctp_assoc_rm_peer()'in zaten temizlediği ilişkilendirme ömür boyu durumuna kopyalayacaktır. Karşı tarafın bunları yeniden iletmesine izin verilir; bu yaklaşım, sctp_inq_push()'nin işleme alınmadan önce taşıması kaldırılan parçacıklar için yaptığı işlemle uyumludur.

ÖnemKritik
CVSS9.8
İstismar olasılığı—
ÜrünMicrosoft Azl3 Kernel
Yayın18 Eki 2026
İlk görülme18 Eki 2026

Nasıl düzeltilir

Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
microsoft azl3_kernel_6.6.157.1-1Aralık belirtilmemiş—

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.