CVE-2022-49648
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: tracing/histograms: Bellek sızıntısı sorunu düzeltildi Bu işlem, 46bbe5c671e06f070428b9be142cc4ee5cedebac numaralı commit işlemini geri alır. 46bbe5c671e0 ("tracing: fix double free") numaralı commit işleminde belirtildiği üzere, clang statik analizörü tarafından raporlanan "çift serbest bırakma (double free)" sorunu şudur: > parse_var_defs() fonksiyonunda var_defs.expr tahsis edilirken bir sorun oluşursa, daha önceki var_defs.name serbest bırakılır. > Bu serbest bırakma işlemi, listenin geri kalanını serbest bırakan free_var_defs() tarafından tekrarlanır. Ancak, N-inci var_defs.expr tahsis edilirken bir sorun oluşursa: + parse_var_defs() içinde, serbest bırakılan 'önceki var_defs.name' aslında N-inci var_defs.name'dir; + ardından free_var_defs() içinde, 0-ıncıdan (N-1)-inciye kadar olan isimler serbest bırakılır; TAHSİS SORUNU BURADA OLUŞTUYSA!!! -+ \ | 0. 1. (N-1). N. V +-------------+-------------+-----+-------------+----------- var_defs: | name | expr | name | expr | ... | name | expr | name | /// +-------------+-------------+-----+-------------+----------- Bu iki serbest bırakma işlemi aynı isim üzerinde çalışmaz, dolayısıyla daha önce bir "çift serbest bırakma" sorunu yoktu. Aksine, söz konusu commit işleminden sonra, yukarıdaki "N-inci var_defs.name" serbest bırakılmadığı için bir "bellek sızıntısı" sorunu ortaya çıkmaktadır. CONFIG_DEBUG_KMEMLEAK etkinleştirilip N-inci var_defs.expr'nin tahsis edildiği noktada bir hata enjekte edilirse ve ardından kabukta şu komut çalıştırılırsa: $ echo 'hist:key=call_site:val=$v1,$v2:v1=bytes_req,v2=bytes_alloc' > \ /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger Kmemleak şunu raporlar: 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
Nasıl düzeltilir
- linux linux_kernel4.19.253, 5.4.207, 5.10.132, 5.15.56, 5.18.13 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.