CVE-2026-64396
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: ksmbd: SMB2_LOCK təxirə salınmış kilid ləğvində struct file_lock-un UAF-ı düzəldilib Bloklayan bayt-aralığı kilid sorğusu FILE_LOCK_DEFERRED yolunda təxirə salındıqda, ksmbd setup_async_work() vasitəsilə asinxron işi bağlantının async_requests siyahısına qeydiyyatdan keçirir. Ləğvetmə callback-i smb2_remove_blocked_lock() flock-a istinad saxlayır. Əgər kilid gözləyicisi sonradan oyadılarsa, lakin iş vəziyyəti artıq KSMBD_WORK_ACTIVE deyilsə (məs., paralel ləğvetmə nəticəsində), təmizləmə yolu işi async_requests siyahısından çıxarmadan locks_free_lock(flock) çağırır. Paralel olaraq, smb2_cancel() conn->request_lock altında siyahını gəzir və ləğvetmə callback-ini çağırır, o da artıq azad edilmiş 'flock'-a müraciət edir. Bu, __wake_up_common daxilində slab-use-after-free-ə səbəb olur. Bunu düzəltmək üçün worker ksmbd_vfs_posix_lock_wait()-dən qayıtdıqdan sonra təmizləmə məntiqi yenidən qurulur. list_del(&smb_lock->llist) və release_async_work(work) təmizləmə blokunun əvvəlinə köçürülür. Bu, locks_free_lock(flock) çağırılmazdan əvvəl asinxron işin tamamilə siyahıdan çıxarılmasını və conn->request_lock altında serializasiya olunmasını təmin edir, beləliklə flock hər hansı paralel smb2_cancel() üçün əlçatmaz olur.
Necə düzəltmək olar
- linux linux_kernel6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 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.15 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4 | 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
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.