CVE-2026-43455
Təsvir
Linux kernelində aşağıdakı zəiflik həll edilmişdir: mctp: route: mctp_flow_prepare_output() funksiyasında key->lock kilidini saxla mctp_flow_prepare_output() funksiyası key->dev sahəsini yoxlayır və mctp_dev_set_key() funksiyasını çağıra bilər, lakin bunu edərkən key->lock kilidini saxlamır. mctp_dev_set_key() və mctp_dev_release_key() funksiyaları __must_hold(&key->lock) ilə işarələnib, buna görə də key->dev sahəsinə girişin key->lock tərəfindən ardıcıllaşdırılması nəzərdə tutulur. mctp_sendmsg() ötürmə yolu mctp_local_output() -> mctp_dst_output() vasitəsilə mctp_flow_prepare_output() funksiyasına key->lock kilidini saxlamadan çatır, buna görə də yoxlama və təyin etmə ardıcıllığı yarış vəziyyətinə malikdir. Nümunə interleaving: CPU0 CPU1 ---- ---- mctp_flow_prepare_output(key, devA) if (!key->dev) // NULL görür mctp_flow_prepare_output( key, devB) if (!key->dev) // hələ də NULL mctp_dev_set_key(devB, key) mctp_dev_hold(devB) key->dev = devB mctp_dev_set_key(devA, key) mctp_dev_hold(devA) key->dev = devA // devB-ni üzərinə yazır İndi həm devA, həm də devB istinadları əldə edilmişdir, lakin buraxılma üçün yalnız son key->dev dəyəri izlənilir. Bir istinad itirilə bilər və mctp_dev_release_key() yalnız bir dev üzərində istinadı azaldacağı üçün resurs sızmasına səbəb olur. Düzəliş key->dev yoxlaması və mctp_dev_set_key() çağırışı ətrafında key->lock kilidini götürməklə edilir.
Necə düzəltmək olar
- linux linux_kernel6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9 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 | 5.16 ≤ v < 6.1.167, 6.2 ≤ v < 6.6.130, 6.7 ≤ v < 6.12.78, 6.13 ≤ v < 6.18.19, 6.19 ≤ v < 6.19.9, 7.0 | 6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9 |
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.