Description
In the Linux kernel, the following vulnerability has been resolved:
mm/slab_common: fix slab_caches list corruption after kmem_cache_destroy()
After the commit in Fixes:, if a module that created a slab cache does not
release all of its allocated objects before destroying the cache (at rmmod
time), we might end up releasing the kmem_cache object without removing it
from the slab_caches list thus corrupting the list as kmem_cache_destroy()
ignores the return value from shutdown_cache(), which in turn never removes
the kmem_cache object from slabs_list in case __kmem_cache_shutdown() fails
to release all of the cache's slabs.
This is easily observable on a kernel built with CONFIG_DEBUG_LIST=y
as after that ill release the system will immediately trip on list_add,
or list_del, assertions similar to the one shown below as soon as another
kmem_cache gets created, or destroyed:
[ 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
Another quick way to trigger this issue, in a kernel with CONFIG_SLUB=y,
is to set slub_debug to poison the released objects and then just run
cat /proc/slabinfo after removing the module that leaks slab objects,
in which case the kernel will panic:
[ 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
This patch fixes this issue by properly checking shutdown_cache()'s
return value before taking the kmem_cache_release() branch.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.19.8 – < 5.20, 6.0 | 5.20 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.5.6-1 | — |
| Debian 13 | linux | 6.5.6-1 | — |
| Debian 12 | linux | 6.1.64-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux-raspi | 6.7.0-1001.1 | — |
| Ubuntu 24.04 LTS | linux-raspi-realtime | No fix yet | — |
| Ubuntu 22.04 LTS | linux-gcp-6.5 | 6.5.0-1013.13~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-hwe-6.5 | 6.5.0-17.17~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.5 | 6.5.0-17.17.1.1.1~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-nvidia-6.5 | 6.5.0-1014.14 | — |
| Ubuntu 22.04 LTS | linux-oem-6.5 | 6.5.0-1014.15 | — |
| Ubuntu 22.04 LTS | linux-oracle-6.5 | 6.5.0-1015.15~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-riscv +24 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | perf +26 | 4.18.0-513.9.1.el8_9 | RHSA-2023:7549 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9.2 EUS | bpftool | 7.0.0-284.48.1.el9_2 | RHSA-2024:0448 |
| RHEL 9.2 EUS | perf +48 | 5.14.0-284.48.1.el9_2 | RHSA-2024:0448 |
| RHEL 8.8 EUS | perf +26 | 4.18.0-477.36.1.el8_8 | RHSA-2023:7539 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.1.56-82.125 | 1.0-0.amzn2023 | ALAS2023-2023-385 |
| Amazon Linux 2023 | perf +13 | 6.1.56-82.125.amzn2023 | ALAS2023-2023-385 |
Advisories 5
- RHSA-2024:0448 Red Hat Security Advisory: kernel security and bug fix update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2023:7539 Red Hat Security Advisory: kernel security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Oct 10, 2026
- WID-SEC-2024-0534 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 3, 2026
- RHSA-2023:7549 Red Hat Security Advisory: kernel security and bug fix update Red Hat Security Advisories (RHSA) · Aug 26, 2026
- ALAS2023-2023-385 Important: kernel security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Feb 8, 2026