Katalog CVE

CVE-2022-48658

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.67%

Percentyl 48 - wyżej niż 48% wszystkich znanych CVE

Streszczenie

W jądrze Linux w podsystemie SLUB poprawiono wywołania flush_cpu_slab() i __free_slab() w kontekście zadania. Problem dotyczył sytuacji, gdy funkcja flush_all_cpu_locked() wywoływana z kontekstu zadania mogła powodować zależność w pracy globalnej kolejki, gdy kolejka z bitem WQ_MEM_RECLAIM czyściła globalną kolejkę.

Ocena ryzyka

Podatność może prowadzić do ostrzeżeń i potencjalnych problemów z synchronizacją w systemach z jądrem PREEMPT_RT, co może wpływać na stabilność systemu.

Rekomendacja

Zaleca się aktualizację jądra Linux do wersji zawierającej poprawkę dla CVE-2022-48658.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. Commit 5a836bf6b09f ("mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context") moved all flush_cpu_slab() invocations to the global workqueue to avoid a problem related with deactivate_slab()/__free_slab() being called from an IRQ context on PREEMPT_RT kernels. When the flush_all_cpu_locked() function is called from a task context it may happen that a workqueue with WQ_MEM_RECLAIM bit set ends up flushing the global workqueue, this will cause a dependency issue. workqueue: WQ_MEM_RECLAIM nvme-delete-wq:nvme_delete_ctrl_work [nvme_core] is flushing !WQ_MEM_RECLAIM events:flush_cpu_slab WARNING: CPU: 37 PID: 410 at kernel/workqueue.c:2637 check_flush_dependency+0x10a/0x120 Workqueue: nvme-delete-wq nvme_delete_ctrl_work [nvme_core] RIP: 0010:check_flush_dependency+0x10a/0x120[ 453.262125] Call Trace: __flush_work.isra.0+0xbf/0x220 ? __queue_work+0x1dc/0x420 flush_all_cpus_locked+0xfb/0x120 __kmem_cache_shutdown+0x2b/0x320 kmem_cache_destroy+0x49/0x100 bioset_exit+0x143/0x190 blk_release_queue+0xb9/0x100 kobject_cleanup+0x37/0x130 nvme_fc_ctrl_free+0xc6/0x150 [nvme_fc] nvme_free_ctrl+0x1ac/0x2b0 [nvme_core] Fix this bug by creating a workqueue for the flush operation with the WQ_MEM_RECLAIM bit set.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS