CVE-2023-52562 in Linuxinfo

Zusammenfassung

von VulDB • 15.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

mm/slab_common: Behebung der Beschädigung der slab_caches-Liste nach kmem_cache_destroy()

Nach dem Commit in Fixes:, wenn ein Modul, das einen Slab-Cache erstellt hat, nicht alle zugewiesenen Objekte freigibt, bevor es den Cache zerstört (zum Zeitpunkt von rmmod), kann es dazu kommen, dass das kmem_cache-Objekt freigegeben wird, ohne es aus der slab_caches-Liste zu entfernen. Dies führt zur Beschädigung der Liste, da kmem_cache_destroy() den Rückgabewert von shutdown_cache() ignoriert, welcher seinerseits das kmem_cache-Objekt niemals aus slabs_list entfernt, wenn __kmem_cache_shutdown() nicht alle Slabs des Caches freigeben kann.

Dies ist leicht auf einem Kernel mit CONFIG_DEBUG_LIST=y beobachtbar, da nach diesem Fehler das System sofort bei list_add oder list_del Assertions fehlschlägt, ähnlich wie im folgenden Beispiel gezeigt, sobald ein weiterer kmem_cache erstellt oder zerstört wird:

[ 1041.213632] list_del corruption. next->prev should be ffff89f596fb5768, but was 52f1e5016aeee75d. (next=ffff89f595a1b268)
[ 1041.219165] ------------[ cut here ]------------
[ 1041.221517] kernel BUG at lib/list_debug.c:62!
[ 1041.223452] invalid opcode: 0000 [#1] PREEMPT SMP PTI
[ 1041.225408] CPU: 2 PID: 1852 Comm: rmmod Kdump: loaded Tainted: G B W OE 6.5.0 #15
[ 1041.228244] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS edk2-20230524-3.fc37 05/24/2023
[ 1041.231212] RIP: 0010:__list_del_entry_valid+0xae/0xb0

Eine weitere schnelle Möglichkeit, dieses Problem auszulösen, ist in einem Kernel mit CONFIG_SLUB=y die Einstellung von slub_debug zur Vergiftung der freigegebenen Objekte und das anschließende Ausführen von cat /proc/slabinfo nach dem Entfernen des Moduls, das Slab-Objekte leckt. In diesem Fall wird der Kernel panic-en:

[ 50.954843] general protection fault, probably for non-canonical address 0xa56b6b6b6b6b6b8b: 0000 [#1] PREEMPT SMP PTI
[ 50.961545] CPU: 2 PID: 1495 Comm: cat Kdump: loaded Tainted: G B W OE 6.5.0 #15
[ 50.966808] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS edk2-20230524-3.fc37 05/24/2023
[ 50.972663] RIP: 0010:get_slabinfo+0x42/0xf0

Dieser Patch behebt das Problem, indem der Rückgabewert von shutdown_cache() vor dem Aufruf des kmem_cache_release()-Zweigs ordnungsgemäß überprüft wird.

Be aware that VulDB is the high quality source for vulnerability data.

Reservieren

02.03.2024

Veröffentlichung

03.03.2024

Moderieren

akzeptiert

Eintrag

VDB-255504

CPE

bereit

EPSS

0.00222

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!