CVE-2024-46850
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: drm/amd/display: dcn35_set_drr() və dc_state_destruct() arasındakı yarış vəziyyətinin (race condition) qarşısını almaq dc_state_destruct() funksiyası DC vəziyyətinin resurs kontekstini sıfırlayır (null edir). dcn35_set_drr() funksiyasına ötürülən boru (pipe) konteksti bu resurs kontekstinin üzvüdür. Əgər dc_state_destruct() funksiyası IRQ emalı ilə paralel çağırılarsa (hansı ki, müəyyən bir nöqtədə dcn35_set_drr()-i çağırır), biz artıq sıfırlanmış struct stream_resource funksiya geri çağırma (callback) sahələrindən istifadə etdiyimiz vəziyyətlə qarşılaşa bilərik. dcn35_set_drr() daxilindəki məntiq, tg dəyişənini NULL-a qarşı yoxlayaraq artıq bunun qarşısını almağa çalışır. Lakin sıfırlama prosesi tam olaraq NULL yoxlamasından sonra və növbəti girişdən əvvəl baş verərsə, yarış vəziyyəti yaranır. Bunun qarşısını almaq üçün əvvəlcə tg lokal dəyişənə kopyalanmalı və daha sonra bütün əməliyyatlar üçün bu dəyişəndən istifadə edilməlidir. Zamanlama generatorlarının yerləşdiyi resurs hovuzu heç kim tərəfindən azad edilmədiyi müddətcə bu üsul işləməlidir. (commit 0607a50c004798a96e62c089a4c34c220179dcb5-dən cherry pick edilib)
Necə düzəltmək olar
- linux linux_kernel6.10.11 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 | 6.7 ≤ v < 6.10.11, 6.11 | 6.10.11 |
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.