CVE-2025-22035
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: tracing: Tracer dəyişdirilməsi zamanı print_graph_function_flags funksiyasında use-after-free xətasının düzəldilməsi Kairui ftrace stres testi zamanı print_graph_function_flags() funksiyasında UAF problemi aşkar edib [1]. Bu problem, s_start() daxilində 'mutex_unlock(&trace_types_lock)' əmrindən sonra 'mdelay(10)' yerləşdirildikdə və aşağıdakı skript icra etdikdə təkrar yaradıla bilər: $ echo function_graph > current_tracer $ cat trace > /dev/null & $ sleep 5 # 'cat' əmrinin 'mdelay(10)' nöqtəsinə çatdığından əmin olun $ echo timerlat > current_tracer Problemin kökü hər bir s_show() zamanı print_trace_line daxilində print_graph_function_flags funksiyasına edilən iki çağırışdadır: * Biri 'iter->trace->print_line()' vasitəsilə; * Digəri isə print_trace_line geri dönməzdən əvvəl print_trace_fmt() daxilində gizlədilmiş 'event->funcs->trace()' vasitəsilə. Tracer dəyişdirilməsi yalnız birincini yeniləyir, ikincisi isə köhnə tracer-in print_line funksiyasından istifadə etməyə davam edir ki, yuxarıdakı skriptdə bu, print_graph_function_flags funksiyasıdır. Bundan əlavə, 'function_graph' tracer-indən 'timerlat' tracer-inə keçid zamanı s_start yalnız 'iter->private' sahəsini azad etmək üçün 'function_graph' tracer-inin graph_trace_close funksiyasını çağırır, lakin onu NULL olaraq təyin etmir. Bu, 'event->funcs->trace()' funksiyasına etibarsız 'iter->private' istifadə etmək imkanı verir. Bu problemi həll etmək üçün graph_trace_close() funksiyasında 'iter->private' azad edildikdən dərhal sonra onu NULL olaraq təyin edin və beləliklə, digər tracer-lərə etibarsız göstəricinin ötürülməməsini təmin edin. Əlavə olaraq, wakeup və irqsoff tracer-lərindən istifadə zamanı hər bir 'cat trace' prosesi zamanı lazımsız olan 'iter->private = NULL' hissəsini təmizləyin. [1] https://lore.kernel.org/all/[email protected]/
Necə düzəltmək olar
- linux linux_kernel4.15, 4.20, 5.4.292, 5.10.236, 5.15.180, 6.1.134, 6.6.87, 6.12.23, 6.13.11, 6.14.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 | 4.14.324 ≤ v < 4.15, 4.19.293 ≤ v < 4.20, 5.4.255 ≤ v < 5.4.292, 5.10.193 ≤ v < 5.10.236, 5.15.129 ≤ v < 5.15.180, 6.1.50 ≤ v < 6.1.134, 6.4.13 ≤ v < 6.6.87, 6.7 ≤ v < 6.12.23, 6.13 ≤ v < 6.13.11, 6.14 ≤ v < 6.14.2 | 4.15, 4.20, 5.4.292, 5.10.236, 5.15.180, 6.1.134, 6.6.87, 6.12.23, 6.13.11, 6.14.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.