CVE-2026-53161

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: misc: fastrpc: workqueue kontekstində fastrpc_user-ın istifadədən sonra azad edilməsi problemini düzəldin fastrpc_device_release() ilə DSP cavablarını emal edən workqueue arasında yarış vəziyyəti mövcuddur. İstifadəçi fayl deskriptorunu bağladıqda fastrpc_device_release() fastrpc_user strukturunu azad edir. Eyni vaxtda davam edən DSP çağırışı tamamlana bilər və fastrpc_rpmsg_callback() schedule_work(&ctx->put_work) vasitəsilə kontekstin təmizlənməsini planlaşdırır. Əgər workqueue fastrpc_context_free()-i fastrpc_device_release() istifadəçi strukturunu azad etdiyi vaxtla paralel və ya ondan sonra işə salarsa, o, azad edilmiş fastrpc_user-a müraciət edir. Yarış anında kontekstin vəziyyətindən asılı olaraq aşağıdakı müraciətlərdən hər hansı biri baş verə bilər: 1. fastrpc_buf_free() fiziki ünvanı dma_free_coherent()-ə ötürməzdən əvvəl saxlanılmış IOVA-dan SID bitlərini çıxarmaq üçün fastrpc_ipa_to_dma_addr(buf->fl->cctx, ...) çağırır. 2. fastrpc_free_map() yaddaşı DSP VM-dən HLOS-a qaytaran qcom_scm_assign_mem() çağırışı üçün lazım olan mənbə icazə bitmaskını bərpa etmək məqsədilə map->fl->cctx->vmperms[0].vmid oxuyur. 3. fastrpc_free_map() map qovşağını fl->maps siyahısından təhlükəsiz şəkildə çıxarmaq üçün map->fl->lock kilidini əldə edir. Nəticədə yaranan istifadədən sonra azad etmə aşağıdakı kimi təzahür edir: pc : fastrpc_buf_free+0x38/0x80 [fastrpc] lr : fastrpc_context_free+0xa8/0x1b0 [fastrpc] fastrpc_context_free+0xa8/0x1b0 [fastrpc] fastrpc_context_put_wq+0x78/0xa0 [fastrpc] process_one_work+0x180/0x450 worker_thread+0x26c/0x388 fastrpc_user-a kref əsaslı istinad sayğacı əlavə edin. Hər invoke konteksti ayırma zamanı istifadəçiyə istinad götürsün və kontekst azad edildikdə onu buraxsın. İlkin istinadı fayl bağlanarkən fastrpc_device_release()-də buraxın. İstifadəçi strukturunun sökülməsini — gözləyən kontekstlərin, map-ların, mmap-ların və kanal kontekst istinadının azad edilməsini — kref buraxma callback-i olan fastrpc_user_free()-ə köçürün ki, bu, yalnız son istinad buraxıldıqda işə düşsün, bunun cihaz bağlanması zamanı, yoxsa son davam edən kontekst tamamlandıqdan sonra baş verməsindən asılı olmayaraq.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc25 iyn 2026
İlk görülmə25 iyn 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.1 ≤ v < 5.10.259, 5.11 ≤ v < 5.15.210, 5.16 ≤ v < 6.1.176, 6.2 ≤ v < 6.6.143, 6.7 ≤ v < 6.12.94, 6.13 ≤ v < 6.18.36, 6.19 ≤ v < 7.0.13, 7.15.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13

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.