CVE-2026-31578

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: media: as102: as102_usb_probe() funksiyasında cihaz qeydiyyatdan keçdikdən sonra yaddaşın azad edilməməsi üçün düzəliş as102_usb drayverində aşağıdakı yarış vəziyyəti (race condition) baş verir: ``` CPU0 CPU1 as102_usb_probe() kzalloc(); // as102_dev_t ayrılır .... usb_register_dev(); fd = sys_open("/path/to/dev"); // as102 fd açılır .... usb_deregister_dev(); .... kfree(); // as102_dev_t azad edilir .... sys_close(fd); as102_release() // UAF!! as102_usb_release() kfree(); // DFB!! ``` usb_register_dev() ilə qeydiyyata alınmış USB simvol cihazı daha sonra qeydiyyatdan çıxarıldıqda (usb_deregister_dev() və ya disconnect vasitəsilə), cihaz düyünü silinir və yeni open() çağırışları uğursuz olur. Lakin artıq açıq olan fayl deskriptorları dərhal itmir: onlar sonuncu istinad ləğv edilənə və drayverin .release() funksiyası çağırılana qədər etibarlı qalırlar. as102-də, as102_usb_probe() funksiyası usb_register_dev() çağırır və sonra xəta yolu zamanı usb_deregister_dev() edərək as102_dev_t strukturunu dərhal azad edir. Əgər istifadəçi sahəsi (userspace) qeydiyyatdan çıxarılmadan əvvəl uğurlu open() çağırışı etdisə, həmin açıq FD daha sonra as102_release() --> as102_usb_release() funksiyalarına çatacaq və as102_dev_t strukturuna yenidən müraciət edəcək və ya onu azad edəcək ki, bu da use-after-free və double-free zəifliyinin yaranmasına səbəb olan yarış vəziyyətinə gətirib çıxarır. Düzəliş ondan ibarətdir ki, usb_register_dev() uğurla tamamlandıqdan sonra heç vaxt birbaşa kfree(as102_dev_t) çağırılmasın. Qeydiyyatdan çıxardıqdan sonra yaddaşın azad edilməsi .release() funksiyasına ötürülür. Başqa sözlə, sonuncu açıq FD bağlanarkən sonuncunu kfree() etmək tapşırığı release() funksiyasına həvalə edilir.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc24 apr 2026
İlk görülmə24 apr 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernelv < 6.6.136, 6.7 ≤ v < 6.12.83, 6.13 ≤ v < 6.18.24, 6.19 ≤ v < 6.19.14, 7.0 ≤ v < 7.0.16.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1

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-2026-31578 · Linux Kernel · Dark Radar