CVE-2025-23142
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: sctp: sendmsg funksiyasında azad edilmiş transporta istinadların aşkarlanması və qarşısının alınması sctp_sendmsg() funksiyası soket son nöqtəsi və mesajın təyinat ünvanına əsaslanan axtarış həyata keçirməklə mümkünsə assosiasiyalardan və transportlardan yenidən istifadə edir, daha sonra sctp_sendmsg_to_asoc() seçilmiş transportu göndəriləcək bütün mesaj hissələrinə (chunks) təyin edir. Hissələr qurulduqdan sonra və mesaj göndərilməzdən əvvəl başqa bir axının (thread) həmin seçilmiş transportun silinməsini tetikləməsi halında (məsələn, setsockopt(SCTP_SOCKOPT_BINDX_REM) ilə ünvanın açıq şəkildə bağlanmaması yolu ilə) mümkün yarış şəraiti (race condition) yarana bilər. Bu, göndərmə buferi dolu olduqda, göndərən axının sctp_wait_for_sndbuf() funksiyasında soket kilidini müvəqqəti olaraq buraxdığı dövrdə baş verə bilər. Bu, assosiasiya çıxış növbəsi (outqueue) təmizlənərkən sctp_outq_select_transport() funksiyasındakı transport məlumatlarına girişin "use-after-free" oxumasına səbəb olur. Bu dəyişiklik, sctp_transport_free() funksiyasının transportun azad edilməsini siqnallaşdıraraq onu "ölü" (dead) kimi etiketləməsi ilə bu ssenarinin qarşısını alır. Bunu etmək üçün yamaq, commit 47faa1e4c50e ("sctp: remove the dead field of sctp_transport") ilə silinmiş struct sctp_transport strukturundakı "dead" bitini bərpa edir. Sonra, göndərən axının sctp_wait_for_sndbuf() funksiyasında soket kilidini buraxdığı ssenaridə, silinməni aşkar etmək üçün soket kilidi yenidən əldə edildikdən sonra bit yenidən yoxlanılır. Bu proses zamanı transportun azad edilməsinin qarşısını almaq üçün ona istinad saxlanılır. Əgər soket kilidi buraxıldığı zaman transport silinibsə, sctp_sendmsg_to_asoc() istifadəçi sahəsinə (userspace) göndərməni yenidən cəhd etmək imkanı vermək üçün -EAGAIN qaytaracaqdır. Xəta özəl syzbot instansiyası tərəfindən aşkar edilmişdir (xəta hesabatına [1] və bunu tetikləyən C reproduserinə [2] baxın).
Necə düzəltmək olar
- linux linux_kernel3.19, 4.5, 4.10, 4.15, 5.4.293, 5.10.237, 5.15.181, 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 3.18.128 ≤ v < 3.19, 4.4.166 ≤ v < 4.5, 4.9.142 ≤ v < 4.10, 4.14.85 ≤ v < 4.15, 4.19.6 ≤ v < 5.4.293, 5.5 ≤ v < 5.10.237, 5.11 ≤ v < 5.15.181, 5.16 ≤ v < 6.1.135, 6.2 ≤ v < 6.6.88, 6.7 ≤ v < 6.12.24, 6.13 ≤ v < 6.13.12, 6.14 ≤ v < 6.14.3, 6.15 | 3.19, 4.5, 4.10, 4.15, 5.4.293, 5.10.237, 5.15.181, 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3 |
| debian debian_linux | 11.0 | — |
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.