CVE-2022-49939
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: binder: yarış vəziyyətinin (race condition) səbəb olduğu ref->proc obyektinin UAF (istifadə-sonrası-azad etmə) xətası düzəldildi BINDER_TYPE_WEAK_HANDLE tipində olan tranzaksiya düyünün istinadını artırmaqda uğursuz ola bilər. Bu halda, hədəf proc normalda gözlənildiyi kimi bağlanma zamanı uğursuz istinadı azad edir. Lakin, əgər hədəf paralel olaraq məhv olursa, çağırış binder_deferred_release() ilə yarış vəziyyətinə girəcək, beləliklə, hədəf artıq bütün istinadlarını azad etmiş ola bilər ki, bu da yeni uğursuz istinadın təmizlənməsinin həll olunmamasına gətirib çıxarır. Daha sonra tranzaksiya başa çatır və hədəf proc azad edilir, nəticədə ref->proc asılı göstəriciyə (dangling pointer) çevrilir. Sonradan ref->node bağlanır və biz spin_lock(&ref->proc->inner_lock) funksiyasını çağırmağa cəhd edirik ki, bu da aşağıda bildirilən use-after-free xətasına səbəb olur. Bunu, təmizləmə prosesini hədəfin yerinə yetirməsinə güvənmək əvəzinə, uğursuz istinadı dərhal təmizləyərək düzəldək. ================================================================== BUG: KASAN: use-after-free in _raw_spin_lock+0xa8/0x150 Write of size 4 at addr ffff5ca207094238 by task kworker/1:0/590 CPU: 1 PID: 590 Comm: kworker/1:0 Not tainted 5.19.0-rc8 #10 Hardware name: linux,dummy-virt (DT) Workqueue: events binder_deferred_func Call trace: dump_backtrace.part.0+0x1d0/0x1e0 show_stack+0x18/0x70 dump_stack_lvl+0x68/0x84 print_report+0x2e4/0x61c kasan_report+0xa4/0x110 kasan_check_range+0xfc/0x1a4 __kasan_check_write+0x3c/0x50 _raw_spin_lock+0xa8/0x150 binder_deferred_func+0x5e0/0x9b0 process_one_work+0x38c/0x5f0 worker_thread+0x9c/0x694 kthread+0x188/0x190 ret_from_fork+0x10/0x20
Necə düzəltmək olar
- linux linux_kernel4.14.293, 4.19.258, 5.4.213, 5.10.142, 5.15.66, 5.19.8 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 | v < 4.14.293, 4.15 ≤ v < 4.19.258, 4.20 ≤ v < 5.4.213, 5.5 ≤ v < 5.10.142, 5.11 ≤ v < 5.15.66, 5.16 ≤ v < 5.19.8, 6.0 | 4.14.293, 4.19.258, 5.4.213, 5.10.142, 5.15.66, 5.19.8 |
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.