CVE-2022-48845

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: MIPS: smp: kardeş ve çekirdek haritalarının daha erken doldurulması CONFIG_SCHED_CORE etkinleştirildikten sonra (5.14 döngüsünde eklenmiştir), 2 çekirdekli ve çekirdek başına 2 iş parçacıklı interAptiv (CPS tabanlı) sistemler şunları üretmeye başlamıştır: [ 0.025698] CPU1 revision is: 0001a120 (MIPS interAptiv (multi)) [ 0.048183] ------------[ cut here ]------------ [ 0.048187] WARNING: CPU: 1 PID: 0 at kernel/sched/core.c:6025 sched_core_cpu_starting+0x198/0x240 [ 0.048220] Modules linked in: [ 0.048233] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.17.0-rc3+ #35 b7b319f24073fd9a3c2aa7ad15fb7993eec0b26f [ 0.048247] Stack : 817f0000 00000004 327804c8 810eb050 00000000 00000004 00000000 c314fdd1 [ 0.048278] 830cbd64 819c0000 81800000 817f0000 83070bf4 00000001 830cbd08 00000000 [ 0.048307] 00000000 00000000 815fcbc4 00000000 00000000 00000000 00000000 00000000 [ 0.048334] 00000000 00000000 00000000 00000000 817f0000 00000000 00000000 817f6f34 [ 0.048361] 817f0000 818a3c00 817f0000 00000004 00000000 00000000 4dc33260 0018c933 [ 0.048389] ... [ 0.048396] Call Trace: [ 0.048399] [<8105a7bc>] show_stack+0x3c/0x140 [ 0.048424] [<8131c2a0>] dump_stack_lvl+0x60/0x80 [ 0.048440] [<8108b5c0>] __warn+0xc0/0xf4 [ 0.048454] [<8108b658>] warn_slowpath_fmt+0x64/0x10c [ 0.048467] [<810bd418>] sched_core_cpu_starting+0x198/0x240 [ 0.048483] [<810c6514>] sched_cpu_starting+0x14/0x80 [ 0.048497] [<8108c0f8>] cpuhp_invoke_callback_range+0x78/0x140 [ 0.048510] [<8108d914>] notify_cpu_starting+0x94/0x140 [ 0.048523] [<8106593c>] start_secondary+0xbc/0x280 [ 0.048539] [ 0.048543] ---[ end trace 0000000000000000 ]--- [ 0.048636] Synchronize counters for CPU 1: done. CPU 0/boot dışındaki her bir işlemci için durum böyledir. Bahsedilen satırdan hemen önceki temel hata ayıklama çıktıları şunu göstermektedir: [ 0.048170] CPU: 1, smt_mask: Bu durumda, fonksiyon çağrıldığında kardeş maskesi olan smt_mask boş görünmektedir. Bu kritik bir durumdur çünkü sched_core_cpu_starting() çekirdek zamanlama parametrelerini her CPU başlangıcında yalnızca bir kez hesaplar ve o anda tüm parametrelerin dolu olması gerekir (en azından MIPS üzerinde aslında `&cpu_sibling_map[cpu]` olan cpu_smt_mask() fonksiyonunu kullanır). Yapılan hata ayıklamalar sonucunda, gerçek harita hesaplamasını gerçekleştiren set_cpu_sibling_map() fonksiyonunun notify_cpu_start() fonksiyonundan sonra çağrıldığı tespit edilmiştir; ancak CPU HP geri çağırma turunu başlatan tam olarak bu son fonksiyondur (sched_core_cpu_starting() temelde bir CPU HP geri çağırmasıdır). Akış ARM64 ile aynı olsa da (haritalar bildirimden sonra, ancak set_cpu_online() çağrılmadan önce oluşturulur), x86 Linux 4.14 sürümünden itibaren kardeş haritalarını CPU HP geri çağırmaları başlatılmadan daha önce hesaplamaya başlamıştır (referans için [0]'a bakınız). Gecikme kalibrasyonu yapıldıktan hemen sonra haritaların hesaplanmasında herhangi bir potansiyel sorun bulunamamıştır ve WARN hatası giderilmiştir. Aynı hata ayıklama çıktıları artık beklenen sonucu vermektedir: [ 0.048433] CPU: 1, smt_mask: 0-1 [0] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=76ce7cfe35ef

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın16 Tem 2024
İlk görülme16 Tem 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel4.9.308, 4.14.273, 4.19.236, 5.4.186, 5.10.107, 5.15.30, 5.16.16 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernelv < 4.9.308, 4.10 ≤ v < 4.14.273, 4.15 ≤ v < 4.19.236, 4.20 ≤ v < 5.4.186, 5.5 ≤ v < 5.10.107, 5.11 ≤ v < 5.15.30, 5.16 ≤ v < 5.16.164.9.308, 4.14.273, 4.19.236, 5.4.186, 5.10.107, 5.15.30, 5.16.16

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.

Intelligence 360 paketinde

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.

CVE-2022-48845 · Linux Kernel · Dark Radar