CVE-2025-38722
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: habanalabs: export_dmabuf() funksiyasındakı UAF xətası düzəldildi Fayl istinadı deskriptor cədvəlinə daxil edildiyi an, digər bir axın (thread) onu bağlaya bilərdi. Əgər yeganə etdiyimiz həmin deskriptoru istifadəçi sahəsinə (userland) qaytarmaqdırsa, bu problem yaratmırdı (bu bir yarış vəziyyətidir (race condition), lakin istifadəçi sahəsində baş verir və nüvənin buna qarşı edə biləcəyi heç nə yoxdur). Lakin, əgər fd_install()-dan sonra bağlanma zamanı məhv ediləcək obyektlərdən hər hansı birinə (istər struct file-ın özünə, istərsə də onun ->release() tərəfindən məhv edilən hər hansı bir elementə) müraciət etsək, UAF yaranır. dma_buf_fd() funksiyası deskriptorun rezervasiyası və fd_install()-ın kombinasiyasıdır. habanalabs export_dmabuf() bu funksiyanı çağırır və daha sonra bağlanma zamanı məhv edilən obyektlərə müraciət edir. Xüsusilə, o, bizim faylımız üçün ->release() hissəsində silinəcək digər bir struct file-a əlavə istinad götürür; burada "silinəcək" ifadəsi əslində "artıq silinmiş ola bilər" deməkdir. Bu, hər şeydən əvvəl deskriptorun rezerv edilməsi və yalnız bütün hazırlıqlar tamamlandıqdan sonra fd_install()-ın yerinə yetirilməsi ilə düzəldilmişdir. Yan fayda olaraq, artıq faylın artıq yaradıldığı, lakin alt fayla olan istinadın (həmçinin ->dmabuf_export_cnt və s.) hələ götürülmədiyi uğursuz çıxış halı yoxdur; dma_buf_fd()-dan fərqli olaraq, fd_install() uğursuz ola bilməz.
Necə düzəltmək olar
- linux linux_kernel6.12.43, 6.15.11, 6.16.2 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 | 5.16 ≤ v < 6.12.43, 6.13 ≤ v < 6.15.11, 6.16 ≤ v < 6.16.2, 6.17 | 6.12.43, 6.15.11, 6.16.2 |
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.