CVE-2024-57849
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: s390/cpum_sf: Nümunələrin götürülməsi zamanı CPU hotplug silinməsinin idarə edilməsi CPU hotplug silinməsinin idarə olunması aşağıdakı funksiya çağırışları ardıcıllığını tetikləyir: CPUHP_AP_PERF_S390_SF_ONLINE --> s390_pmu_sf_offline_cpu() ... CPUHP_AP_PERF_ONLINE --> perf_event_exit_cpu() s390 CPUMF sampling CPU hotplug idarəçisi bunu çağırır: s390_pmu_sf_offline_cpu() +--> cpusf_pmu_setup() +--> setup_pmc_cpu() +--> deallocate_buffers() Bu funksiya hadisənin başladılması zamanı həmin CPU üçün ayrılmış bütün nümunə məlumat buferlərini (SDBs) azad edir. O, həmçinin PMU_F_RESERVED bitini təmizləyir. CPU artıq mövcud deyil və ondan nümunələr götürülə bilməz. Hadisə silinmiş CPU-da hələ də aktiv olduğu halda, nüvə performans alt sistemindəki CPU hadisə hotplug dəstəyi silinmiş CPU-da aşağıdakı funksiyaları çağırır: perf_event_exit_cpu() +--> perf_event_exit_cpu_context() +--> __perf_event_exit_context() +--> __perf_remove_from_context() +--> event_sched_out() +--> cpumsf_pmu_del() +--> cpumsf_pmu_stop() +--> hw_perf_event_update() hadisəni dayandırmaq və silmək üçün. Hadisənin silinməsi zamanı nümunə cihaz drayveri nümunə məlumat buferlərindən (SDBs) qalan nümunələri oxumağa çalışır. Lakin onlar artıq azad edilib (və yenidən təyin edilmiş ola bilər). Bu, "use after free" vəziyyətinə səbəb ola bilər ki, bu halda nümunələr çox güman ki, etibarsızdır. Ən yaxşı halda yaddaş yenidən təyin edilməyib və hələ də etibarlı məlumatlar saxlayır. Bu vəziyyət düzəldildi və CPU-nun hələ də rezerv edilmiş vəziyyətdə olub-olmadığı (PMU_F_RESERVED bitinin təyin edilməsi) yoxlanılır. Bu halda SDB-lər azad edilməyib və etibarlı məlumatlar ehtiva edir. Hadisə silindikdə (və heç bir CPU hotplug off baş vermədikdə) vəziyyət həmişə belə olur. Əgər PMU_F_RESERVED biti təyin edilməyibsə, SDB buferləri artıq mövcud deyil.
Necə düzəltmək olar
- linux linux_kernel5.4.287, 5.10.231, 5.15.174, 6.1.120, 6.6.66, 6.12.5 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 < 5.4.287, 5.5 ≤ v < 5.10.231, 5.11 ≤ v < 5.15.174, 5.16 ≤ v < 6.1.120, 6.2 ≤ v < 6.6.66, 6.7 ≤ v < 6.12.5 | 5.4.287, 5.10.231, 5.15.174, 6.1.120, 6.6.66, 6.12.5 |
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.