CVE-2026-98548
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: sctp: stale-cookie xətası zamanı paketin qalan hissəsini silin Assosiasiya COOKIE-ECHOED vəziyyətində olduqda və qarşı tərəf özünün əsas olmayan ünvanlarından birindən paketlənmiş [ERROR(Stale Cookie)][DATA] paketini göndərdikdə, ERROR hissəsinin emalı fatal olmayan stale-cookie yenidən cəhd yolu olan sctp_sf_do_5_2_6_stale()-i çağırır ki, bu da assosiasiyanı aktiv saxlayaraq SCTP_CMD_DEL_NON_PRIMARY əmrini növbəyə düzür. sctp_cmd_del_non_primary() bütün əsas olmayan nəqliyyatları silir - bura həmin paketin gəldiyi və hələ də qəbul axtarışı tərəfindən istinad edilən və paketin bütün hissələri tərəfindən chunk->transport vasitəsilə paylaşan nəqliyyat da daxildir. sctp_assoc_rm_peer() funksiyası asoc->peer.last_data_from istiqamətini silinmiş nəqliyyatdan uzağa yönləndirir, lakin dərhal sonra paketlənmiş DATA hissəsi sctp_assoc_bh_rcv()-ni şərtsiz olaraq asoc->peer.last_data_from = chunk->transport kimi yenidən qeydiyyatdan keçirməyə məcbur edir və beləliklə, yeni silinmiş nəqliyyatla yönləndirməni ləğv edir. Paket tamamlandıqdan sonra qəbul istinadı silinir və nəqliyyat RCU ilə azad edilir, halbuki sağ qalan assosiasiya asılı qalan last_data_from istinadını saxlayır. Sonrakı FWD-TSN (və ya gecikdirilmiş SACK taymeri) sctp_gen_sack()-nin ona müraciət etməsinə səbəb olur (->param_flags və digərləri) və sctp_make_sack()/sctp_outq_select_transport() azad edilmiş obyektə yaza və onu canlı nəqliyyat siyahısına bağlaya bilər. Bu, heç bir səlahiyyət tələb olunmadan hər hansı zərərli SCTP qarşı tərəfi (və ya onun kimi davranan lokal imtiyazsız istifadəçi) tərəfindən tetiklenebilən use-after-free zəifliyidir: 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 Qeyd edin ki, 03a9d10ecf71 ("sctp: drop a chunk if its transport was removed") commit-i yalnız qəbul axtarışı ilə hissənin emalı arasındakı pəncərəni əhatə edir (məsələn, soket backlog ilə yarışan ASCONF DEL-IP); burada isə nəqliyyat paket emal edilərkən eyni paketin daha erkən hissəsi tərəfindən silinir, buna görə də sctp_inq_push()-dəki silmə prosesi bu yola çatmır. Paketlənmiş [ERROR(Stale Cookie)][DATA] + FWD-TSN reproduseri ilə yoxlanılmışdır: həmin commit tətbiq edildikdə yuxarıdakı KASAN hesabatı hələ də baş verir, lakin bu yamama (patch) əlavə edildikdə aradan qalxır. Xin tərəfindən təklif edildiyi kimi, bu yolda paketin qalan hissəsini silməklə problem həll edilmişdir. Stale-cookie ERRORT-u assosiasiyanı COOKIE-WAIT vəziyyətinə qaytardıqdan və əsas olmayan nəqliyyatları sildikdən sonra, paketin qalan hissələri chunk->transport vasitəsilə silinmiş gəliş nəqliyyatına istinad edərkən yalnız yenidən başladılmış əl sıxma (handshake) prosesinə qarşı işləyə bilər: yuxarıdakı last_data_from qeydiyyatından əlavə, sctp_cmd_setup_t2() və sctp_make_*() cavab qurucuları da həmin göstəricini sctp_assoc_rm_peer()-in artıq təmizlədiyi assosiasiya ömür dövrü vəziyyətinə kopyalayardı. Qarşı tərəfin onları yenidən ötürməsinə icazə verilsin, bu, sctp_inq_push()-in emaldan əvvəl nəqliyyatı silinmiş hissələr üçün etdiklərinə uyğundur.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| microsoft azl3_kernel_6.6.157.1-1 | Aralıq göstərilməyib | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.