CVE-2024-46850

Yüksək

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)

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc27 sen 2024
İlk görülmə27 sen 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.10.11 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.7 ≤ v < 6.10.11, 6.116.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.

Intelligence 360 paketində

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.

CVE-2024-46850 · Linux Kernel · Dark Radar