CVE-2024-44973 mm, slub: do not call do_slab_free for kfence object

High 8.1 Published Updated

A missing check in the Linux kernel's SLUB allocator causes a crash when freeing KFENCE objects, leading to denial of service.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-44973?

CVE-2024-44973 is a high-severity vulnerability in Linux kernel, published on 4 Sep 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

mm, slub: do not call do_slab_free for kfence object

In 782f8906f805 the freeing of kfence objects was moved from deep inside do_slab_free to the wrapper functions outside. This is a nice change, but unfortunately it missed one spot in __kmem_cache_free_bulk.

This results in a crash like this:

BUG skbuff_head_cache (Tainted: G S B E ): Padding overwritten. 0xffff88907fea0f00-0xffff88907fea0fff @offset=3840

slab_err (mm/slub.c:1129) free_to_partial_list (mm/slub.c:? mm/slub.c:4036) slab_pad_check (mm/slub.c:864 mm/slub.c:1290) check_slab (mm/slub.c:?) free_to_partial_list (mm/slub.c:3171 mm/slub.c:4036) kmem_cache_alloc_bulk (mm/slub.c:? mm/slub.c:4495 mm/slub.c:4586 mm/slub.c:4635) napi_build_skb (net/core/skbuff.c:348 net/core/skbuff.c:527 net/core/skbuff.c:549)

All the other callers to do_slab_free appear to be ok.

Add a kfence_free check in __kmem_cache_free_bulk to avoid the crash.

Which versions are affected by CVE-2024-44973?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-44973?

Apply the vendor's patch.

Is CVE-2024-44973 being exploited?

There is no known exploitation of CVE-2024-44973 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-44973, DEBIAN-CVE-2024-44973, GHSA-p79g-j2j8-9wqw, UBUNTU-CVE-2024-44973.

Is CVE-2024-44973 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free