CVE-2026-90429

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: iommu/tegra241-cmdqv: Xəta ISR-ni VINTF (de)init ilə sinxronlaşdırın İstifadəçi VINTF-i destroy geri çağırma funksiyasından və alloc idarəçisindəki init-uğursuzluq geri qaytarma prosesindən işləyən tegra241_cmdqv_deinit_vintf() tərəfindən sökülür. Bu, cmdqv->vintfs[] slotunu təmizləyir və iommufd nüvəsinin onu azad etməsinə şərait yaradır, lakin bunu xəta kəsilməsi (interrupt) ilə sinxronlaşdıran heç bir mexanizm yoxdur: tegra241_cmdqv_isr() cmdqv->vintfs[idx]-i oxuyur və vintf-ə müraciət edir. Eyni vaxtda baş verən xəta ISR-in slotu təmizlənmə anında oxumasına (NULL deref) və ya azad olunmaq üzrə olan vintf-dən istifadə etməsinə (use-after-free) səbəb ola bilər. deinit_vintf() həmçinin slotu təmizləməzdən əvvəl idx-i IDA-ya qaytarır, buna görə də eyni vaxtda idx-i yenidən istifadə edən create prosesi yeni vintf-ini slota yerləşdirə bilər, lakin bu sökülmə prosesi köhnəlmiş NULL yazılması ilə onu yenidən silə bilər. Digər tərəfdən, tegra241_cmdqv_init_vintf() sadə bir store əməliyyatı ilə cmdqv->vintfs[] slotuna yeni vintf yerləşdirir və ISR dərhal vintf->base kimi dərc edilmiş vintf sahələrinə müraciət edir. Zəif sıralı (weakly-ordered) CPU-larda sadə store əməliyyatı ardıcıllığı təmin etmir və yenidən istifadə edilən idx-də köhnəlmiş VINTF_ERR_MAP biti ISR-in vintf-i onun sahələri təyin edilməmişdən və ya tegra241_vintf_hw_init() işə düşməmişdən əvvəl seçməsinə səbəb ola bilər. cmdqv->vintfs[0] slotu tegra241_cmdqv_init_structures() ilk dəfə VINTF0 yaratmayana qədər NULL olaraq qalır, buna görə də slot 0 oxunması üçün də eyni NULL yoxlaması lazımdır. Hər bir slotu smp_store_release() ilə dərc edin və ISR-də hər bir slotu NULL yoxlaması altında smp_load_acquire() ilə oxuyun ki, ISR həmişə tam qurulmuş vintf və ya NULL görsün. Həmçinin deinit_vintf()-in slotu təmizləməsini və idx-i IDA-ya qaytarmazdan əvvəl synchronize_irq() funksiyasını çağırmasını təmin edin ki, heç bir vintf işlək idarəçi altında azad edilməsin və yenidən istifadə edilən idx pozulmasın.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux
Dərc17 sen 2026
İlk görülmə17 sen 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linuxbcb82407633c3008362ad927699d985ee4981557, f3ef4abc271a1d3d7b6715879e149c286dc8aae7, a491be376abd1c80a314cdd658632c85cd660b73 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < bcb82407633c3008362ad927699d985ee4981557, 4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < f3ef4abc271a1d3d7b6715879e149c286dc8aae7, 4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < a491be376abd1c80a314cdd658632c85cd660b73, 6.17bcb82407633c3008362ad927699d985ee4981557, f3ef4abc271a1d3d7b6715879e149c286dc8aae7, a491be376abd1c80a314cdd658632c85cd660b73

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-90429 · Linux · Dark Radar