CVE-2022-49648
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: tracing/histograms: Yaddaş sızması problemi düzəldildi Bu, 46bbe5c671e06f070428b9be142cc4ee5cedebac commit-ini ləğv edir. Commit 46bbe5c671e0 ("tracing: fix double free")-da qeyd edildiyi kimi, clang statik analizatoru tərəfindən bildirilən "ikiqat azad etmə" (double free) problemi belədir: > parse_var_defs() funksiyasında var_defs.expr ayırmaqla bağlı problem yaranarsa, əvvəlki var_defs.name azad edilir. > Bu azad etmə prosesi siyahının qalan hissəsini azad edən free_var_defs() tərəfindən təkrarlanır. Lakin, N-ci var_defs.expr ayrılması zamanı problem yaranarsa: + parse_var_defs()-də azad edilən 'əvvəlki var_defs.name' əslində N-ci var_defs.name-dir; + sonra free_var_defs()-də 0-cıdan (N-1)-ciyə qədər olan adlar azad edilir; AYIRMA PROBLEMİ BURADA BAŞ VERDİ!!! -+ \ | 0-cı 1-ci (N-1)-ci N-ci V +-------------+-------------+-----+-------------+----------- var_defs: | name | expr | name | expr | ... | name | expr | name | /// +-------------+-------------+-----+-------------+----------- Bu iki azad etmə eyni ada təsir etmir, buna görə də əvvəllər "ikiqat azad etmə" problemi yox idi. Əksinə, həmin commit-dən sonra, yuxarıdakı "N-ci var_defs.name" azad edilmədiyi üçün "yaddaş sızması" (memory leak) problemi yaranır. Əgər CONFIG_DEBUG_KMEMLEAK aktiv edilsə və N-ci var_defs.expr ayrıldığı yerdə xəta törədilirsə, daha sonra shell-də aşağıdakı kimi icra olunursa: $ echo 'hist:key=call_site:val=$v1,$v2:v1=bytes_req,v2=bytes_alloc' > \ /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger O zaman kmemleak bunu bildirir: unreferenced object 0xffff8fb100ef3518 (size 8): comm "bash", pid 196, jiffies 4295681690 (age 28.538s) hex dump (first 8 bytes): 76 31 00 00 b1 8f ff ff v1...... backtrace: [<0000000038fe4895>] kstrdup+0x2d/0x60 [<00000000c99c049a>] event_hist_trigger_parse+0x206f/0x20e0 [<00000000ae70d2cc>] trigger_process_regex+0xc0/0x110 [<0000000066737a4c>] event_trigger_write+0x75/0xd0 [<000000007341e40c>] vfs_write+0xbb/0x2a0 [<0000000087fde4c2>] ksys_write+0x59/0xd0 [<00000000581e9cdf>] do_syscall_64+0x3a/0x80 [<00000000cf3b065c>] entry_SYSCALL_64_after_hwframe+0x46/0xb0
Necə düzəltmək olar
- linux linux_kernel4.19.253, 5.4.207, 5.10.132, 5.15.56, 5.18.13 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 | 4.19.149 ≤ v < 4.19.253, 5.4.69 ≤ v < 5.4.207, 5.8.13 ≤ v < 5.10.132, 5.11 ≤ v < 5.15.56, 5.16 ≤ v < 5.18.13, 5.19 | 4.19.253, 5.4.207, 5.10.132, 5.15.56, 5.18.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.
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.